2013-06-28 2 views
2

호스트를 프록시로 지정하여 프록시를 통해 GET 요청을 라우팅 할 수 있습니까? 또는 패킷의 대상을 설정해야합니까?HTTP 요청을 사용하는 프록시

HTTPRequestMessage를 생성하고 프록시를 통해 라우팅하려고합니다. 그러나, 나는 보내고있는 요청의 목적지를 설정하는 정밀한 레벨 제어를 가지고 있지 않다.

답변

5

HttpClient, HttpWebRequest 및 HttpRequestMessage에 프록시를 추가 할 수있었습니다. 함께 사용할 필요는 없지만 프록시를 사용하여 HTTP 요청을 작성하는 두 가지 방법을 찾았습니다. Windows 저장소/메트로 응용 프로그램에서이를 수행하려면 IWebProxy를 구현해야합니다.

IWebProxy 구현하기위한 이것 좀보세요 :

HttpClient를 :

HttpClientHandler aHandler = new HttpClientHandler(); 
IWebProxy proxy = new MyProxy(new Uri("http://xx.xx.xx.xxx:xxxx")); 
proxy.Credentials = new NetworkCredential("xxxx", "xxxx"); 
aHandler.Proxy = proxy; 
HttpClient client = new HttpClient(aHandler); 

의 HttpWebRequest :

그런 다음 당신이해야 할 모든 HttpClient를 나 HttpWebRequest를위한 프록시를 설정 http://social.msdn.microsoft.com/Forums/windowsapps/en-US/6e20c2c0-105c-4d66-8535-3ddb9a048b69/bug-missing-type-webproxy-cant-set-proxy-then-where-is-the-appconfig

HttpWebRequest webrequest = (HttpWebRequest)WebRequest.CreateHttp(uri); 
IWebProxy proxy = new MyProxy(new Uri("http://xx.xx.xx.xxx:xxxx")); 
proxy.Credentials = new NetworkCredential("xxxx", "xxxx"); 
webrequest.Proxy = proxy; 

HttpRequestMessage

일단 HttpRequestMessage를 구성하면 위의 메서드 (HttpClient)를 사용하여이 요청 메시지를 보낼 수 있으며 추가 작업없이 프록시를 통해 라우팅됩니다.