http를 사용하여 문자열을 다운로드하는 웹 클라이언트 클래스를 사용하고 있습니다.C# webclient 및 프록시 서버
괜찮 았습니다. 그러나 회사의 클라이언트는 모두 이제 프록시 서버에 연결됩니다. 그리고 문제는 이것으로 시작되었습니다.
내 응용 프로그램을 테스트했을 때 프록시 서버를 통과 할 수 없다고 생각합니다. 예외가 계속 발생하는 이유는 "xxx.xxx.xxx.xxx에서 프록시 서버 IP 주소가 응답이 없습니다.
그러나, 나는 여전히 웹 사이트 URL을 탐색 할 수 있으며 프록시 서버를 통해 연결할 때 브라우저에서 제대로 문자열을 표시하지만 내 웹 클라이언트를 사용하지 않을 때.
는 웹에서 무언가가 클라이언트가 프록시 서버 뒤에서 URL에 액세스 할 수 있도록 구성해야합니까?using (WebClient wc = new WebClient())
{
string strURL = "http://xxxxxxxxxxxxxxxxxxxxxxxx";
//Download only when the webclient is not busy.
if (!wc.IsBusy)
{
string rtn_msg = string.Empty;
try
{
rtn_msg = wc.DownloadString(new Uri(strURL));
return rtn_msg;
}
catch (WebException ex)
{
Console.Write(ex.Message);
return false;
}
catch (Exception ex)
{
Console.Write(ex.Message);
return false;
}
}
else
{
System.Windows.Forms.MessageBox.Show("Busy please try again");
return false;
}
}
이상적으로, 웹 클라이언트는 또한 using 문에 있어야합니다. 유용한 게시물. – Orphid
오르피트보다 더 명백하다; 위의 코드 (완벽하게 합법적 인)를 사용하여 웹 클라이언트에서'.Dispose '를 호출하는 것을 잊지 마십시오! 또한 WebProxy에는 두 번째 인수로 포트 번호를 사용하는 생성자 오버로드가 있습니다 – user3791372