【背景】
此处是中国,虽然本身网络很快,但是用C#代码访问Amazon网站,结果速度很慢。
所以,想到了, 是否改用goagent代理,速度是否会变快。
试了试,貌似的确快一些。
所以,就打算给现有的,已经实现好的,利用了HttpWebRequest去访问网络的代码中,添加代理的支持。
包括访问google,也还是代理速度要快,要稳定。
【折腾过程】
1.参考:
c#中HttpWebRequest使用Proxy实现指定IP的域名请求
去试试:
private WebProxy gProxy = null;
/* set proxy
* Note:
* 1. current only support http proxy
* 2. current only support single proxy
*/
public void setProxy(string proxyIp, int proxyPort)
{
gProxy = new WebProxy(proxyIp, proxyPort);
}
public HttpWebResponse _getUrlResponse(string url,
Dictionary<string, string> headerDict = defHeaderDict,
Dictionary<string, string> postDict = defPostDict,
int timeout = defTimeout,
string postDataStr = defPostDataStr,
int readWriteTimeout = defReadWriteTimeout)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
......
req.Proxy = gProxy;
......
}结果就可以了。
可以使用上代理了。
【总结】
C#中,让HttpWebRequest支持代理的话:
对于HttpWebRequest的变量设置对应的proxy属性即可。
proxy变量是System.Net.WebProxy类型的。
代码为:
using System.Net;
WebProxy gProxy = new WebProxy("127.0.0.1", 8087);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Proxy = gProxy;转载请注明:在路上 » 【已解决】C#中HttpWebRequest支持代理