Просмотр полной версии : Помогите с Дельфи!
Народ кто нормальна шарит в дельфи?...помогите мне написать программу...начал недавно!,..почти нехе...не знаю!,.
Так что нада!...===> Мне нужна такая прога чтобы она открылавала опредиленую сылку с разных проксей...чтобы я вел там www.111.ru и чтобы она ее открылава с одного прокси, закрывала а потом занова с другой и так чтобы раз 100....
Зарание спасиба! Жду ответа!
Дык тебе нужна обычная простенькая прога. которая берет базу проксей и тупо переходит по ссылке.
дык проще некуда.
1) строй движек базы прокси
2) гдето на форуме валяется пой код - там функция запроса страницы
3) строй Http запрос и шли его через функцию,
всё очень просто. :)
slesh
Ну ты даешь...чувак же написал, что плохо шарит в делфи...
Заипется он это делать сам, имхо
M@@$
Страничку получать можно с помощью компоненты webbrowser
Тут написано как можно создать свой простенький браузер
_http://www.codenet.ru/progr/delphi/stat/browser.php
Потом, после события DocumentComplete (когда страничка уже полностью загрузилась)
снова загружаешься по той же ссылке, но меняешь прокси(соксы)...
Как работать через прокси я не в курсах, никогда не сталкивался, но я думаю не очень сложно...
Подскажите кто знаком с этим!
P.S.Поидеи сделать не сложно, при желании можно отключить и графику в браузере, чтоб меньше трафика грузил, но тогда скорее всего счетчики работать не будут, потому как они реагируют только на загрузку картинки самого счетчика, если я не ошибаюсь. А тебе я как понял нужна программа накрутчик?
2 [krot] НУ дык если инет браузер - это жестоко, т.к. траф идет хороший, да и скорость не очень. Winsock и всю будет рульно. Сори за юзанье WS2 (просто тупая привычка со времен написания снифера) Вот кусок кода:
uses winsock2;
var
WSAData:TWSAData;
socket_id:array[1..100] of dword;
tout:array[1..100] of boolean;
procedure timeouts(wnd:hwnd;uMsg:UINT;id:UINT;dwtime:dword); stdcall;
begin
tout[id]:=true;
closesocket(socket_id[id]);
end;
function send_packs(id:dword;ip:string; port:word; send_buf:string; var recv_buf:string):integer;
var
SockAddrIn: TSockAddrIn;
tmp_buf:array[1..1024] of char;
len:longint;
begin
result:=-10;
socket_id[id]:=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if socket_id[id]=WINDOWS.INVALID_HANDLE_VALUE then exit;
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_port := htons(port);
SockAddrIn.sin_addr.s_addr := inet_addr(Pansichar(ip));
result:=-20;
if Connect(socket_id[id], @SockAddrIn, SizeOf(SockAddrIn))<>0 then exit;
tout[id]:=false;
windows.SetTimer(form1.Handle,id,timeout,@timeouts );
send(socket_id[id],send_buf[1],length(send_buf),0);
recv_buf:='';
repeat
len:=recv(socket_id[id],tmp_buf,1024,0);
recv_buf:=recv_buf+copy(tmp_buf,1,len);
until len<=0;
killtimer(form1.Handle,id);
result:=-30;
if tout[id]=true then exit;
result:=length(recv_buf);
closesocket(socket_id[id]);
end;
-.-.-.-.-.-.-.-
procedure hz;
var
buf_send,buf_recv:string;
proxy_port:word;
proxy_ip:string;
begin
if WSAStartup($202, WSAData)=-1 then
begin
memolog.Lines.Add('Ошибка WSAStarup');
exit;
end;
buf_send:=
'GET http://kuk.ru/login.php HTTP/1.0'+#13#10+
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*'+#13#10+
'Accept-Language: ru'+#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01705))'+#13#10+
'Host: kuku.ru'+#13#10+
'Proxy-Connection: close'+#13#10#13#10;
case send_packs(id,proxy_ip,proxy_port,buf_send,buf_rec v) of
-10:begin
form1.memolog.Lines.Add('ID: '+inttostr(id)+' Ошибка создания сокета');
end;
-20:begin
form1.memolog.Lines.Add('ID: '+inttostr(id)+' '+proxy_ip+' > дохлый');
proxy[bp].bad:=true;
end;
-30:begin
if length(buf_recv)<1000 then begin
proxy[bp].bad:=true;
form1.memolog.Lines.Add('ID: '+inttostr(id)+' '+proxy_ip+' > TIME OUT');
end;
end;
0:begin
proxy[bp].bad:=true;
form1.MemoLog.Lines.Add('ID: '+inttostr(id)+' '+proxy_ip+' > Ошибка прокси');
end;
end;
end;
Код простой. Подогнан специально под многопаточность.
id - номер потока
максимум потоков - 100
proxy_ip - ip адресс HTTP прокси сервера
proxy_port - порт прокси сервера.
slesh
А ты уверен, что счетчики будут регистрировать такие запросы, как я понял ему это надо для имитации посещаемости сайта (уников), для банеров и т.п. А так ты будешь получать только хтмл код, или я не прав?
M@@$ если я не прав, поправь...
А так конечно лучше так, трафа будет намного меньше жрать...
ИМХО на WinSock'e такое делать - мазахизм и самоубийство. Предлагаю решить проблему с помощью WinInet, код для отправки через прокси будет примерно такой:
Uses
......blablabla....., WININET;
const
Server_Addr: PChar= 'LocalHost';
ScriptName: PChar= 'engine.php';
hdrs: Pchar= 'Content-Type: application/x-www-form-urlencoded';
var
hInet, hConnect, hRequest: hInternet;
pRequest: PChar;
sRequest: string;
hInet := InternetOpen('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru)', INTERNET_OPEN_TYPE_PROXY, 'http=http://localhost:8080', nil, 0);
hConnect := InternetConnect(hInet, Server_Addr, INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
hRequest := HttpOpenRequest(hConnect, 'POST', ScriptName, nil, nil, nil, 0, 1);
sRequest := 'Body=OK';
pRequest := PChar(sRequest);
HttpSendRequest(hRequest, hdrs, StrLen(hdrs), pRequest, StrLen(pRequest));
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInet);
']slesh
А ты уверен, что счетчики будут регистрировать такие запросы, как я понял ему это надо для имитации посещаемости сайта (уников), для банеров и т.п. А так ты будешь получать только хтмл код, или я не прав?
M@@$ если я не прав, поправь...
А так конечно лучше так, трафа будет намного меньше жрать...
Cтатическая HTML страница конечно не будет (если не счетчик не встроек в сервер, но это уже теория), а скрипт зафискирует и вернет HTML код страницы про которые ты и говорил.
slesh, [krot] , А®ТеS.
По вервых ребя огромное спасиба за то что пытаитесь помоч! Очень ценю!...
Ребята...мне кароче нужна чтобы просто открывались странички типа накрутки!...
Я полный нуб! в программировании...я смогу толька скрипт впихнуть в дельфи и скомплить и все))..Так что если вам не в затруднение зделайте мне эту хрень...или код скиньте!,..И еше мне нужна чтобы я прокси сам закидывал и http адрис сам писал...Это возможна?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot