帮助非常欢迎和非常感谢,谢谢。这个程序是一个ProxyChecker,因为我已经买了一大堆,并且会继续使用不同的用户/通行证等代理,但有些已经过期。我添加了一个断点,它所做的实际上是跳过ProxyClient代码并直接转向1中的每个var item,如果item接受连接等,则它只返回false并结束。C#线程并行
private static void CheckProxy(object state)
{
var u = user[0];
var p = pass[0];
var l = new List<MyIP>();
Parallel.ForEach(l.ToArray(), (ip_item) =>
{
try
{
string ip = ip_item.IP;
using (var client = new ProxyClient(ip, u, p))
{
Console.WriteLine(ip, user, pass);
client.Connect();
ip_item.AcceptsConnection = client.IsConnected;
}
}
catch
{
l.Remove(ip_item);
}
});
foreach (var item in l)
{
if (item.AcceptsConnection == true)
{
WriteToFile(user[0], pass[0]);
}
Console.WriteLine(item.IP + " is " + (item.AcceptsConnection) + " accepts connections" + " doesn not accept connections");
}
}
负载IPS功能:#
private static void loadips()
{
using (TextReader tr = new StreamReader("ips.txt"))
{
var l = new List<MyIP>();
string line = null;
while ((line = tr.ReadLine()) != null)
{
l.Add(new MyIP { IP = line });
}
}
}
我已经响应了答案补充这一点。我认为这是一个可变的问题,因为变量在本地声明不公开任何想法如何解决?我无法找到一种方法来获得这种工作,似乎我是愚蠢的。谢谢。
你永远不会调用loadips () – Rick