 |
|

10.09.2009, 17:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446
Репутация:
836
|
|
Сообщение от НTL
Есть массив (примерно 40 строк), и я знаю что на 5 строке есть нужная мне информация, как мне из массива достать только 5 строчку?
Вся проблема в том что я не знаю что находится на 5 строчке... (Если бы знал то использовал Pos(), delete(), и т.д.
в массиве не строки, а элементы.
mas[index]
if (mas[index] != 'abc')
begin
exit;
end;
while(true)
begin
if (mas[index] == 'abc') break;
end;
по поводу парсинга html документа, самое простое это работа через DOM
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

10.09.2009, 17:47
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
С нами:
8960826
Репутация:
2261
|
|
с удовольствием приму любой простейший рабочий пример отправки http запроса через прокси на вин-апи.
без прокси оно выглядит примерно так:
Код:
wData:WSAData;
s:TSOCKET;
addr:sockaddr_in;
s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family:=AF_Inet;
addr.sin_port:=htons(80);
addr.sin_addr.S_addr:=inet_addr('218.123.123.123');
Connect(S,addr,SizeOf(TSockAddr));
sendbuff := 'GET http://site.ru/xmls/123.php HTTP/1.0'+ #13#10 +
'Host: pentagon.com'+ #13#10 +
'UserAgent: Mozilla/5.0 (Windows NT 5.1)'+ #13#10 +
'Accept: */*' + #13#10 +
'Referer: http://google.ru'+ #13#10 +
'Connection: Keep-Alive'+ #13#10#13#10;
send(s, sendbuff[1] , Length(sendbuff), 0);
recv(s,sBuff,5000,0);
Shutdown(S,SD_Send);
closesocket(s);
|
|
|

10.09.2009, 18:55
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
если http прокси то так и оставляй тока шли на IP и PORT прокси эти даныне
Код:
sendbuff := 'GET http://pentagon.com/xmls/123.php HTTP/1.0'+ #13#10 +
'Host: pentagon.com'+ #13#10 +
'UserAgent: Mozilla/5.0 (Windows NT 5.1)'+ #13#10 +
'Accept: */*' + #13#10 +
'Referer: http://google.ru'+ #13#10 +
'Proxy-Connection: Close'+ #13#10#13#10;
|
|
|

10.09.2009, 19:11
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
А как можно работать с антикапчой через сокеты? (Отправка файлов через кодировку multipart/form-data)
|
|
|

10.09.2009, 19:53
|
|
Участник форума
Регистрация: 25.10.2008
Сообщений: 215
С нами:
9233818
Репутация:
78
|
|
На форме некого приложения есть несколько Memo, как выбрать конкретное из них средствами WinApi?
|
|
|

10.09.2009, 21:44
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Выбрать? Всмысле? ЧТо ты хочеш сделать с ними?
Записать данные, считать данные, поставить фокус в вода или еще что?
|
|
|

10.09.2009, 22:04
|
|
Участник форума
Регистрация: 25.10.2008
Сообщений: 215
С нами:
9233818
Репутация:
78
|
|
slesh, записать данные
|
|
|

11.09.2009, 07:07
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446
Репутация:
836
|
|
$Atlet$
FindWindow
FindWindowEx
SetWindowText
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

11.09.2009, 07:48
|
|
Участник форума
Регистрация: 25.10.2008
Сообщений: 215
С нами:
9233818
Репутация:
78
|
|
А как с помощью FindWindowEx найти Memo? В нём ведь заголовков нет, а искать просто по классу они сверху вниз перебираются.
|
|
|

11.09.2009, 19:38
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
С нами:
9626394
Репутация:
357
|
|
Возникла небольшая проблема с HTTP запросами/ответами через Wnisock,
При отправки запроса через HTTP Sender слеша, к примеру такова запроса:
GET /mchat/ HTTP/1.1
Content-Type: text/html
Host: testhtl.ucoz.ru
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)
Ответ придет с HTML кодом за 4 сек
А если убрать в коде эти строчки:
Код:
function send_packs(ip:string; port:word; send_buf:string; var recv_buf:string):integer;
var
SockAddrIn:TSockAddrIn;
tmp_buf:array[0..1024] of char;
len:longint;
socket_id:LongWord;
begin
result:=-10;
socket_id:=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if socket_id=LongWord(-1) then exit;
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_port := htons(port);
SockAddrIn.sin_addr.s_addr := inet_addr(Pansichar(GetIPAddress(ip)));
result:=-20;
if Connect(socket_id, SockAddrIn, SizeOf(SockAddrIn))<>0 then
begin
closesocket(socket_id);
exit;
end;
send(socket_id,send_buf[1],length(send_buf),0);
recv_buf:='';
repeat
len:=recv(socket_id,tmp_buf,1024,0);
recv_buf:=recv_buf+copy(tmp_buf,0,len);
until len<=0;
result:=length(recv_buf);
closesocket(socket_id);
end;
То ответ придет за 200 Ms, но без HTML кода...
Также если отправлять запросы через синфер, то ответ приходит за 1сек и с HTML кодом
Как можно отправить и получить ответ от сервера за минимальное время и с HTML кодом???
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|