 |
Прокси в потоке по кругу - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
09.03.2013, 18:02
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 07.04.2012
 Сообщений: 5
 Популярность: 170
 Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
|
Прокси в потоке по кругу
Вот нашел темку с кодом на форуме.
Код:
procedure TNewThread.Execute;
var CurAcc:integer;
data:Tstringlist;
HTTP:TIdHTTP;
begin
while Work do
begin
CS.Enter;
Inc(Acc);
if Acc<Mails.Count then CurAcc:=Acc else Work:=false;
CS.Leave;
if Work then
begin
{HTTP}
HTTP := TIdHTTP.Create(nil);
http.HandleRedirects:=false;
if Proxy.Text = '' then sleep(0) else //Если прокси не загружены, то ничего не делаем
begin
IP:= Copy(Proxy[CurAcc],1,Pos(':',Proxy[CurAcc])-1); Port:=Copy(Proxy[CurAcc],Pos(':',Proxy[CurAcc])+1,Length(Proxy[CurAcc]));
HTTP.ProxyParams.ProxyServer:=IP; //Вставляем прокси
HTTP.ProxyParams.ProxyPort:=strtoint(Port); //Вставляем порт
end;
С потоками я пока что на "ВЫ", вот решил попросить помощи у Вас. Нужно переделать код, чтобы он просто брал прокси из Memo по кругу, если прокси не рабочий, то удалял его, чтобы в следующий раз снова не натыкаться на него. То есть если список прокси подошел к концу, он начинал брать прокси из списка заново(С первого прокси) до конца и так пока я не остановлю потоки.
|
|
|
09.03.2013, 18:36
|
#2
|
|
|
|
Старший сержант
|
 Регистрация: 25.12.2011
 Сообщений: 191
 Популярность: 5259
 Сказал(а) спасибо: 31
Поблагодарили 235 раз(а) в 135 сообщениях
|
Re: Прокси в потоке по кругу
сделай цепочку мемо-потоковый стринг лист, иначе проблем много будет.
а проверку прокси можно сделать путем обращения на myip.ru или ya.ru. и если результат плохой, то удалить строчку из мемо(либо стринглиста)
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
09.03.2013, 18:50
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 07.04.2012
 Сообщений: 5
 Популярность: 170
 Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 6 сообщениях
|
Re: Прокси в потоке по кругу
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
сделай цепочку мемо-потоковый стринг лист, иначе проблем много будет.
а проверку прокси можно сделать путем обращения на myip.ru или ya.ru. и если результат плохой, то удалить строчку из мемо(либо стринглиста)
|
|
 |
|
 |
|
Я не очень понимаю, как сделать, чтобы прокси из мемо доставались по кругу.
Добавлено через 1 час 29 минут
Нужно просто, чтобы прокси ставились по кругу, пока не остановлю потоки. Никаких аккаунтов нету, просто нужно вставлять прокси.
Добавлено через 4 часа 19 минут
var
Proxy:string;
i:integer;
MyThread:TMyThread;
begin
if Length(Memo1.Text) = 0 then
ShowMessage('Поле для Proxy пусто')
else
if Length(Memo3.Text) = 0 then
ShowMessage('Поле Logi пусто')
else
for i := 0 to Memo1.Lines.Count-1 do
Proxy:=Memo1.Lines[i];
HTTP.ProxyParams.ProxyServer:=Copy(Proxy,1,Pos(':' ,Proxy)-1);
HTTP.ProxyParams.ProxyPort:=StrToInt(Copy(Proxy,Po s(':',Proxy)+1,Length(Proxy)));
HTTP.ConnectTimeout:= 10000;
MyThread:=TMyThread.Create(True);
MyThread.FreeOnTerminate:=true;
MyThread.Priority:=tpLower;
MyThread.Resume;
Вот нашел еще один код на форуме, вроде рабочий, как сделать чтобы он прокси брал по кругу? Даже после того, как дойдет до конца, начинал брать с начала.
Последний раз редактировалось Erstown; 09.03.2013 в 23:09.
Причина: Добавлено сообщение
|
|
|
10.03.2013, 14:27
|
#4
|
|
|
|
Сержант
|
 Регистрация: 20.07.2010
 Сообщений: 138
 Популярность: 26409
 Сказал(а) спасибо: 52
Поблагодарили 567 раз(а) в 198 сообщениях
|
Re: Прокси в потоке по кругу
Код:
while true do
begin
end;
горе программисты
|
|
|
10.03.2013, 23:58
|
#5
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Прокси в потоке по кругу
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
11.03.2013, 09:09
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 22.11.2012
 Сообщений: 2
 Популярность: 464
 Сказал(а) спасибо: 0
Поблагодарили 22 раз(а) в 13 сообщениях
|
Re: Прокси в потоке по кругу
 |
Цитата: |
 |
|
|
|
|
|
|
|
чтобы прокси из мемо доставались по кругу |
|
 |
|
 |
|
глобально
Код:
var CurProxy:integer;
в самом начале работы в вашем найденном коде
Код:
var buf:string;
{.....}
buf:=ProxyMemo.lines[CurProxy];
{тут бы еще проверку на валид прокси но это оставлю вам раз уж взялись программировать}
HTTP.ProxyParams.ProxyServer:=Copy(buf,1,Pos(':' ,buf)-1);
HTTP.ProxyParams.ProxyPort:=StrToInt(Copy(buf,Pos(':',buf)+1,Length(buf)));
inc(curProxy);
if Curproxy>MemoProxy.Lines.count-1 then CurProxy:=0;
Последний раз редактировалось mad_cat; 11.03.2013 в 09:16.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 23:29.
|
 |