WebClient problem

V

vin.dor

Dear All,

I am using WebClient in my Visual Studio .Net 2003 project to download
an image from the Internet. The following is my function:

C# Code:

public static bool downloadFile(string URL, ref string fileName)
{
bool result = true;
System.Net.WebClient webClient = new System.Net.WebClient();
try
{
string[] temp;
temp = URL.Split('/');
fileName = Application.StartupPath + "\\tempimage\\" +
temp[temp.Length-1];

webClient.Credentials =
System.Net.CredentialCache.DefaultCredentials;
webClient.DownloadFile(URL, fileName);
}
catch (System.Exception ex)
{
result = false;
}
finally
{
webClient.Dispose();
}
return result;
}
The above function works most of t he time but sometimes I got the
following exception:

System.Net.WebException: The underlying connection was closed: The
server committed an HTTP protocol violation.

at System.Net.HttpWebRequest.CheckFinalStatus()

at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at System.Net.HttpWebRequest.GetResponse()

at System.Net.WebClient.DownloadFile(String address, String fileName)

at WindowsApplication4.Form11.downloadFile(String URL, String fileName)
in g:\project\visual studio
projects\windowsapplication4\windowsapplication4\form11.cs:line 392

Do anyone know what wrong is the function?

Thanks very much for your help.

Regards,
Vincent
 
J

Joerg Jooss

Thus wrote (e-mail address removed),
Dear All,

I am using WebClient in my Visual Studio .Net 2003 project to download
an image from the Internet. The following is my function:

C# Code:

public static bool downloadFile(string URL, ref string fileName)
{
bool result = true;
System.Net.WebClient webClient = new System.Net.WebClient();
try
{
string[] temp;
temp = URL.Split('/');
fileName = Application.StartupPath + "\\tempimage\\" +
temp[temp.Length-1];
webClient.Credentials =
System.Net.CredentialCache.DefaultCredentials;
webClient.DownloadFile(URL, fileName);
}
catch (System.Exception ex)
{
result = false;
}
finally
{
webClient.Dispose();
}
return result;
}
The above function works most of t he time but sometimes I got the
following exception:

System.Net.WebException: The underlying connection was closed: The
server committed an HTTP protocol violation.

at System.Net.HttpWebRequest.CheckFinalStatus()

at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at System.Net.HttpWebRequest.GetResponse()

at System.Net.WebClient.DownloadFile(String address, String fileName)

at WindowsApplication4.Form11.downloadFile(String URL, String
fileName) in g:\project\visual studio
projects\windowsapplication4\windowsapplication4\form11.cs:line 392

Do anyone know what wrong is the function?

Probably nothing. "The server committed an HTTP protocol violation" indicates
that something in the response isn't HTTP 1.1 compliant. See http://blogs.msdn.com/mflasko/archive/2005/11/02/488370.aspx
for more details and a possible work around.

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top