|
thx for ur reply but i want an example plz
|
|
|
|
|
How about a lil reading before asking ...
did you ever check richTextBox.Rtf.Insert(int position, string somechar) or richTextBox.Text.Insert(int position, string somechar) ?
|
|
|
|
|
I have a C# program that needs to access a webpage, and then send data back to the same webpage, either by POST or GET (both work in firefox), except both POST and GET methods give me the same problem in C#.
I load the page successfully, without issues, using a WebRequest, I obtain the embedded resources correctly, I even generate the response URL / POSTDATA I require correctly, except when it comes to using this URL / POSTDATA it returns a failure page as opposed to the success page I expect.
Copying and pasting the generated GET URL into firefox gives me the success page, as does using the page normally with POST, but creating a new WebRequest with that exact same URL or POSTDATA... fails every time.
Is there any particular reason this is occuring? I have all the correct headers, cookies, etc.
how does calling a webpage differ from FireFox to C#?
Any help would be apreciated.
|
|
|
|
|
There is no difference. Firefox just makes a request, just like your program. There has to be something that you are doing differently in you request.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
1)
WebRequest wrq1 = WebRequest.Create("http://a.b.com/site.php?uid=*********");
WebResponse wrs1 = wrq1.GetResponse();
StreamReader sin = new StreamReader(wrs1.GetResponseStream());
.
.
.
wrs1.Close();
2)
WebRequest wrq2 = WebRequest.Create("http://a.b.com/rsrc.php?#Referer=http://a.b.com/site.php?uid=********");
wrq2.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-gb,en;q=0.5");
wrq2.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
wrq2.Headers.Add(HttpRequestHeader.AcceptCharset, "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
wrq2.Headers.Add(HttpRequestHeader.KeepAlive, "300");
wrq2.Headers.Add(HttpRequestHeader.Cookie, "...");
WebResponse wrs2 = wrq2.GetResponse();
.
.
.
wrs2.Close();
3)
WebRequest wrq3 = WebRequest.Create("http://a.b.com/site.php?uid=&value=..&uniqid=************");
wrq3.Method = "GET";
WebResponse wrs3 = wrq3.GetResponse();
.
.
.
wrs3.Close();
1 and 2 work fine, and all is successful until I hit 3. Like I said, doesnt matter whether its GET or POST, Ive tried both, tried with and without headers which have seemingly no effect at all on this one. With the GET method as above, after it had failed, i copied and pasted the generated url (ive put its general form there not its actual form) into firefox and had success so I know that Im creating the URL correctly, Ive just got no idea what else is wrong. I cant think of anything.
|
|
|
|
|
Maybe you`re missing some javascript code that sets some cookie var somewhere locally ... also you should set the Refferer value as some sites use it. Get Live HTTP Headers for firefox and check if there isn`t any redirection or some background stuff you`re not aware of.
|
|
|
|
|
No javascript, no redirection or anything special, it was in the end just a header problem which I solved using sockets.
Live HTTP Headers didnt tell me anything that I didnt already know unfortunately, which is why I decided on the socket route. but it is a useful program, more useful than the one I was using before... that live feature is nice.
Thanks to 'Guffa' and 'Member 4581212' for your replies, I appreciate it. That was just a really, really annoying problem!
|
|
|
|
|
Hi Dears!
I am using crystal report 10 with C# 2005. I have an issue that i want to change the font of Group Header Text that is visible when we click on Toggle Group Tree button and a tree pane is visible towards the left side of report viewer.
I have goggled a lot but unable to find any hint. Any idea or help would be highly appreciated .
Thanks in advance.
|
|
|
|
|
Hi guys, there is a problem with microsoft webbrowser C# control, because I couldn't find any bug in my code. Randomly, I get to see mytext value null. When i debug a few times i have seen doc.body as being null. I have also noticed that Documentcomplete event doesn't get fire always. I couldn't find any cure for my program. I hope only gurus can help me out.
string mytext="";
mshtml.IHTMLDocument2 doc = null;
public void LoadHTML(string filepath)
{
webBrowser1.Navigate(filepath);
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler (webBrowser1_DocumentCompleted);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (((WebBrowser)sender).ReadyState == WebBrowserReadyState.Complete)
{
doc = webBrowser1.Document.DomDocument as mshtml.IHTMLDocument2;
doc.designMode = "On";
mytext= doc.body.innerHTML;
MessageBox.Show(mytext);
}
}
Thanks to any genius, got to better than me
|
|
|
|
|
Since you have a message box only where ReadyState = Complete it should be obvious that there might be something that went wrong from time to time ... like a server time out, or your ISP playing mind games with you or any other reason. U should check for all possible states of ReadyState to see if there is some error in the middle ... to have a better preview of what is going wrong you could use the WebRequest class to get the content of the page and then loading it to the Webbrowser control using WebBrowser.DocumentStream property.
|
|
|
|
|
Hello,
I want to detect when a file is created. (I know fileSystemWatcher)
But FileSystemWatcher will not them WHO created it. Is there a way to find out who did the last access to a file?
This is useful to detect trojans. Assume you delete a trojan, and the process in the memory for that trojan recreates the file again. That way you can detect which processes are responsible.
Thank you
Aram Azhari
|
|
|
|
|
|
Hi
Is it possible to get hash value of user's password form Active directory.
|
|
|
|
|
You MAY be able to get your hands on the "Unicode-Pwd" field of a Person object, but that's about it. Every other password field I've seen is write-only.
|
|
|
|
|
What do you need the hash for? If you're just trying to do user verification via active directory, afaik the it's all done on in the API and all you need to provide are the users credentials.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots.
-- Robert Royall
|
|
|
|
|
Hi
From SQL procedure, I need to call a .NET function (which is part of .NET assembly and loaded in SQL Server 2005).
1. What is the maximum length of STRING which can be passed as parameter?
2. I only saw the samples of basic types (like int, string) but can we pass XML datatype or other complex custom objects?
Please advise. Thanks
Pankaj
|
|
|
|
|
pankazmittal wrote: 1. What is the maximum length of STRING which can be passed as parameter?
I wouldn't expect there to be a max. There is no limit on the size a string can be apart from the physical limit of how much memory you have available.
pankazmittal wrote: 2. I only saw the samples of basic types (like int, string) but can we pass XML datatype or other complex custom objects?
Don't see any reason why not. Give it a try. Let me know what happens.
Simon
|
|
|
|
|
pankazmittal wrote: 1. What is the maximum length of STRING which can be passed as parameter?
I don't know exactly, but it would be something like 2 or 4 million characters. If you have a 32 bit operating system, the limit would be that no process can use more than 4 GiB of memory.
pankazmittal wrote: 2. I only saw the samples of basic types (like int, string) but can we pass XML datatype or other complex custom objects?
I don't see how you could create any object like than in T-SQL?
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Yes we can what you need to do is to add your assembly under the database programmability folder in assemblies and then call it in your query.
|
|
|
|
|
This may be a stupid question, which may be easily solved if I just study the C# programming guide thoroughly, yet I expect help from Codeproject members as I don't have enough time.
I've a library with a class called RegistryBrowser, that simply encapsulates the Microsoft.Win32.Registry and Microsoft.Win32.RegistryKey classes to provide a simple stateful access mechanism to the windows registry. This is a code fraction from the class:
public class RegistryBrowser
{
RegistryKey currentKey, regRoot, tempKey;
bool writable;
string temp;
public string FullPath
{
get
{
return currentKey.Name;
}
}
public int SubKeyCount
{
get
{
return currentKey.SubKeyCount;
}
}
public int ValueCount
{
get
{
return currentKey.ValueCount;
}
}
public RegistryBrowser(RegistryKey root, bool writable)
{
regRoot = root;
currentKey = regRoot;
this.writable = writable;
}
public RegistryBrowser(RegistryKey root, string subKey, bool writable)
{
regRoot = root;
currentKey = regRoot.OpenSubKey(subKey, true);
this.writable = writable;
}
public bool BrowseTo(string subKey)
{
tempKey = currentKey;
currentKey = currentKey.OpenSubKey(subKey);
if (currentKey == null)
{
currentKey = tempKey;
return false;
}
else if(tempKey != regRoot)
tempKey.Close();
return true;
}
.
.
.
Now the problem is that both the constructors simply copy the object reference 'root'. What if the calling method calls the .Close method on the same instance. I need to secure my library against this. So how do I copy the object, instead of just copying the reference, or maybe I need a better design. If so, please suggest.
I encounter this problem very often and it's the source of most of bugs in my programs. Please suggest at the earliest.
modified on Friday, November 7, 2008 10:08 AM
|
|
|
|
|
|
ICloneable is generally not recommended[^].
It is ambiguous as to weather the call to clone will be a deep or shallow copy, so can introduce bugs if the caller makes the wrong assumptions. Recommendation is to define your own clone semantics and implement the required interfaces.
Simon
|
|
|
|
|
Ankit Rajpoot wrote: I just study the C# programming guide thoroughly, yet I expect help from Codeproject members as I don't have enough time.
You can expect all you like, does not mean you'll get. And with an attitude like that im certainly not helping.
|
|
|
|
|
I said that just to glorify the helping nature of Codeproject members. I'm not a professional programmer working for some company. I'm a student who also need to study the academic course. I program just for the sake of my hobby. So what I mean by not having enough time is that I don't have time to study the guide and read the concepts. If someone can (please) tell me some straightforward way of doing that, I'd be very grateful. And if my attitude was bad, I'd not have said 'please'.
|
|
|
|
|
You just started your post rather badly. You basically said that the problem was easy to solve and that if you could be bothered you would do it your self, but you can't be bothered so you expect someone here to do the work for you. If you can't be bothered to put the effort it, why should you expect someone else to do it for you.
I'm sure you didn't mean it like that, it was just worded badly.
Ankit Rajpoot wrote: I'm not a professional programmer working for some company
Remember that people here aren't professionals paid to answer questions, we just do it because we are being generous. Don't expect an answer quickly every time.
Looks like you've got some good answers to your question though. Personally, Dave's sounds like the best solution.
Simon
|
|
|
|