PDA

Просмотр полной версии : Работа с http формами на Delphi


a1nt
05.12.2006, 10:30
Нужно чтобы программа логинилась на одном сайте, получала cookie, и с этими cookie отправляля данные формы (только одно поле), как это реализовать, какие библиотеки использовать и как, может есть похожие исходники?

Deem3n®
05.12.2006, 12:41
Качай справочник _http://delphiworld.narod.ru/dw.html - там есть похожие исходники

gemaglabin
05.12.2006, 13:58
Кинь в личку сайт или скажи тут и я приведу тебе полный код

gemaglabin
05.12.2006, 17:55
Далее по аналогии,если что непонятно спрашивай.

http://www.mytempdir.com/1100096

a1nt
05.12.2006, 18:15
Спасибо, отличный пример, тоолько еще вопрос: а как в этом коде использовать прокси?

gemaglabin
05.12.2006, 18:30
Надо всего то поправить пару строк


host :=resolve(проксихост);
adr.sin_addr.s_addr :=inet_addr(pchar(host));
adr.sin_family :=AF_INET;
adr.sin_port :=htons(проксипорт);


И запрос делать полным


req:='POST http://nnm.ru/index.php HTTP/1.1'+#13#10+
'Content-Type: application/x-www-form-urlencoded'+#13#10+
'Host: nnm.ru'+#13#10+
'Accept-Encoding: gzip,deflate'+#13#10+
'Content-Length: '+inttostr(length(params))+#13#10#13#10+params;

a1nt
05.12.2006, 18:32
И еще один вопрос, а как правильно подставлять Cookie в заголовок?

gemaglabin
05.12.2006, 18:36
Пример


req:='POST http://nnm.ru/index.php HTTP/1.1'+#13#10+
'Content-Type: application/x-www-form-urlencoded'+#13#10+
'Host: nnm.ru'+#13#10+
'Cookie: КУКИ'+#13#10+
'Accept-Encoding: gzip,deflate'+#13#10+
'Content-Length: '+inttostr(length(params))+#13#10#13#10+params;