2013-12-02 3 views
2

Я пытаюсь достичь чего-то, что должно быть простым в соответствии со всем, что я прочитал, но просто не работает для меня: отправьте любой запрос через прокси.HttpWebRequest не может подключиться через прокси-сервер?

См. Код ниже; он работает до тех пор, пока две строки прокомментированы. После того как я верну их обратно и попробую использовать любой прокси-сервер, запрос постоянно время отбрасывает сообщение «Невозможно подключиться к удаленному серверу» WebException, сообщение о внутреннем исключении «Ошибка подключения», потому что связанная сторона не ответила должным образом после периода время или установленное соединение не удалось, так как подключенный хост не смог ответить xxx.xxx.xxx.xxx:zzzz ".

http://www.ip-adress.com/Proxy_Checker/ используется для получения списка тестовых прокси.

var request = (HttpWebRequest) WebRequest.Create("http://google.com/"); 
//var myproxy = new WebProxy("http://xxx.xxx.xxx.xxx:zzzz", false); 
//request.Proxy = myproxy; 
request.Method = "GET"; 
var response = (HttpWebResponse) request.GetResponse(); 

Я, очевидно, что-то отсутствует, и все подобные вопросы я нашел либо имеют более сложные вопросы, или остались без ответа.

Спасибо.

+0

Прокси-адрес работает, если вы настроили его в своем браузере? – CodeCaster

+1

Ваш код работает, попробуйте прокси с прозрачным типом. – Ceelie

ответ

3
Uri address = new Uri("http://google.com/");    
// Create the web request 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); 

// Set type to POST 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 

request.Proxy = new WebProxy("ProxyIP", "Port"); 
request.Proxy.Credentials = new NetworkCredential("ProxyUsername", "ProxyPassword"); 

// Write data 
using (Stream postStream = request.GetRequestStream()) 
{ 
    postStream.Write(byteData, 0, byteData.Length); 
} 

using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
{ 
    StreamReader streamReader = new StreamReader(response.GetResponseStream()); 
    string strReaderXML = streamReader.ReadToEnd(); 
} 
Смежные вопросы