幫助非常歡迎和非常感謝,謝謝。這個程序是一個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