-4

我正在尝试编写一个需要使用代理 3 次然后移动到列表中的下一个代理的程序,依此类推。用户将他们的代理列表输入到列表/文本文件中,程序将使用列表中的第一个,然后继续遍历列表,直到它到达末尾。

如何从列表中获取代理详细信息并使用 httpwebrequest 使用它们?如果我在代码中设置代理但不知道如何让它通过列表工作,我使用代理没有问题

基本上是这样的:用户将代理列表输入文本文件程序使用列表中的第一个代理 3 次然后移动到下一个。如此重复直到完成。

4

1 回答 1

0

我现在看到你的评论,所以试试这个:

foreach (string proxy in proxies) // proxies is the list entered by user
{
    // proxy is the proxy you must try for three times;
    bool proxy_works = test_proxy(); // test function you must write
    // if you need to find first working proxy and then stop
    // use next statements, on the contrary remove them 
    // and you'll travel the whole list
    if (proxy_works)
    {
        // do here what you need (save working proxy?!?)
        break;
    }
}

如果您的用户输入以逗号分隔的代理(例如),您可以按如下方式构建代理:

string[] proxies = strProxy.Split(",".ToCharArray(), 
                                  StringSplitOptions.RemoveEmptyEntries);

或者如果你想从文件中读取:

string[] proxies = File.ReadAllLines(file_path);

如果每个代理都完成了,host_name:port你可以做

string vars = proxy.Split(':'.ToCharArray());
if (vars.Length == 2) 
{
    string MyProxyHostString = vars[0];
    int MyProxyPort = int.Parse(vars[1]); // Better if you use int.TryParse method
}
于 2012-07-05T21:07:29.040 回答