好的,有人说要把我的代理放在一个列表中,这样我就可以为每个请求使用一个新的代理,我将代理保存到一个列表中,但我对从这里去哪里有点困惑
这是我用来生成代理列表的代码,它来自 proxies.txt 文件。
private List<string> getProxyListFromText(string input) {
List<string> list = new List<string>();
StreamReader reader = new StreamReader(input);
string item = "";
while (item != null)
{
item = reader.ReadLine();
if (item != null)
{
list.Add(item);
}
}
reader.Close();
return list;
}
好的,这是请求,每个请求都应该从列表中检索不同的代理。
想象一个循环遍历名称列表的 for 循环,每个名称带来一个不同的请求,每个请求都应该有自己的代理,代理列表已经在上面的代码中生成,只需要一种方法我可以从列表。
for (int i = 0; i < listBox1.Items.Count; i++)
{
object url;
WebClient wc;
url = getppl;
wc = new WebClient();
//This should come from the proxy list
wc.Proxy = new WebProxy(getProxyListFromText("Proxies.txt"));
var page = wc.DownloadString(url.ToString());
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(page);
var pplname = doc.DocumentNode.SelectNodes("/html/body/div[3]/div/div[2]/div[2]/div/div[4]/p");
}
我尝试了一个嵌套的 for 循环,但逻辑被束缚在某个地方。