更改每个新请求的WebClient代理

时间:2019-09-07 05:23:16

标签: winforms webclient webproxy

每次发出新请求时,如何更改代理? 如果我启动该应用程序并多次运行此请求,即使每次我调用此函数时都从代理服务器列表中更改代理的参数,也可以看到它使用了第一个代理。我试图处理客户端,也将客户端代理设置为null,但这没有帮助。 如果我关闭程序并重新启动它,则代理将使用其他IP地址。

string GetRequest() 
{
  WebClient client = new WebClient();
  WebProxy wp = new WebProxy(randomProxyAddress + ":" + portNum);
  wp.UseDefaultCredentials = false;
  wp.Credentials = new NetworkCredential(username, password);
  client.Proxy = wp;            
  string str = client.DownloadString("http://www.example.com");
  client.Proxy = null;
  client.Dispose();
  return str;
}

1 个答案:

答案 0 :(得分:0)

我发现我必须设置request.KeepAlive = false(在WebClient中)。