S
Steve Barta
I am writing a windows app that sends an HTTP request for
xml data to a non-IIS server.
No matter what I have tried I always get back the message
"The underlying connection was closed: The server
committed an HTTP protocol violation."
They have a password challenge on the server. If I enter
the url directly into IE it prompts me for the password
which I enter. Then it returns the XML I am expecting.
I can't seem to make this work in C#. What am I doing
wrong?
TIA!
Steve
Here is my code...
HttpWebRequest webRequest = (HttpWebRequest)
HttpWebRequest.Create(url);
NetworkCredential myCred = new NetworkCredential(user,pw);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("target url here/"),"Basic",myCred);
webRequest.Credentials = myCache;
webRequest.KeepAlive = true;
webRequest.PreAuthenticate = true; // this might be
enough.
webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE
6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR
1.1.4322)";
webRequest.Accept = "image/gif, image/x-xbitmap,
image/jpeg, image/pjpeg, application/x-shockwave-flash,
*/*"; webRequest.ProtocolVersion =
HttpVersion.Version11;
webRequest.Headers.Set("Accept-Language","en-us");
webRequest.Headers.Set("Accept-Encoding","gzip,deflate");
// this next call always throws and exception. (HTTP
protocol violation)
HttpWebResponse webResponse = (HttpWebResponse)
webRequest.GetResponse();
xml data to a non-IIS server.
No matter what I have tried I always get back the message
"The underlying connection was closed: The server
committed an HTTP protocol violation."
They have a password challenge on the server. If I enter
the url directly into IE it prompts me for the password
which I enter. Then it returns the XML I am expecting.
I can't seem to make this work in C#. What am I doing
wrong?
TIA!
Steve
Here is my code...
HttpWebRequest webRequest = (HttpWebRequest)
HttpWebRequest.Create(url);
NetworkCredential myCred = new NetworkCredential(user,pw);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("target url here/"),"Basic",myCred);
webRequest.Credentials = myCache;
webRequest.KeepAlive = true;
webRequest.PreAuthenticate = true; // this might be
enough.
webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE
6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR
1.1.4322)";
webRequest.Accept = "image/gif, image/x-xbitmap,
image/jpeg, image/pjpeg, application/x-shockwave-flash,
*/*"; webRequest.ProtocolVersion =
HttpVersion.Version11;
webRequest.Headers.Set("Accept-Language","en-us");
webRequest.Headers.Set("Accept-Encoding","gzip,deflate");
// this next call always throws and exception. (HTTP
protocol violation)
HttpWebResponse webResponse = (HttpWebResponse)
webRequest.GetResponse();