我正在尝试根据我读过的所有内容实现一些简单的操作,但这对我来说不起作用:通过代理发送任何请求。
请参阅下面的代码;只要注释掉2行,它就可以工作。一旦我把它们放回去并尝试使用任何代理,请求不断超时抛出“无法连接到远程服务器”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 :(得分: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();
}