![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть сайт freedebrid нужно отправить POST запрос и получить страницу с выполненным скриптом! Короче уже всякую фигню начал вставлять но приходит или таже страница либо вообще 0 байт! Помогите плиз!
Код:
Header:='document.forms['+Form1.sLabel22.Caption+'].submit();'+#13+'Content-Type: application/x-www-form-urlencoded'; hInet := InternetOpen('Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.6.37 Version/11.00', PRE_CONFIG_INTERNET_ACCESS, nil, nil, 0); hURL := InternetOpenURL(hInet, PChar('http://www.freedebrid.fr/download'), nil, 0, INTERNET_FLAG_RELOAD, 0); hRequest:=HttpOpenRequest(hURL,'POST',pchar(Header),nil,nil,0,0,0); HttpSendRequest(hURL, pchar(Header),length(Header),PChar('post=mypostdata'), Length('post=mypostdata')); Последний раз редактировалось Admin, 25.12.2011 в 15:49. |
#2
|
||||
|
||||
![]() Content-Type есть, а Content-Length?
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() правильный размер:
Код:
Length('post=mypostdata'); Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() Делаю так,запрос отправился но принимает в снифере показывает что в теле пост запроса буквы идут через пробел и соответственно запрос считается не верным т.е. нужно url=345, а отправляет u r l = 3 4 5!
Код:
procedure TFireThread.Execute; var Header,code,post:String; sizex,indexx:Cardinal; fBufing:array [1..1024] of byte; ReadLen:Cardinal; stoping:Boolean; t:Cardinal; f:file; hurl,hinet,hRequest:HINTERNET; begin inherited; sizex:=256; indexx:=32; stoping:=false; post:='url='+Form1.sLabel22.Caption; t:= Length(post); Header:='Referer: http://www.freedebrid.fr/download'+#13+ 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1' +#13+ 'Accept-Language: ru,ru-RU;q=0.9,en;q=0.8 '+#13+ 'Accept-Encoding:gzip, deflate'+#13+ 'Connection: Keep-Alive '+#13+ 'Content-Type: application/x-www-form-urlencoded'; hInet := InternetOpen('Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.60', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); hUrl:=InternetConnect(hInet,PChar('www.freedebrid.fr'),INTERNET_DEFAULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,0); hRequest:=HttpOpenRequest(hURL,'POST',pchar('/download'),'HTTP/1.1',nil,0,0,0); HttpSendRequest(hRequest,PChar(Header),Length(Header),PChar(post),t); Form1.sRichEdit1.Lines.Add(Header); AssignFile(f,ExtractFilePath(Application.ExeName)+'firebird.html'); Rewrite(f,1); while stoping=false do begin InternetReadFile(hRequest, @fBufing, SizeOf(fBufing), ReadLen); Form1.sRichEdit2.Lines.Add('Прочитанно'+' '+IntToStr(ReadLen)); if ReadLen=0 then begin stoping:=true; end else begin BlockWrite(f, fBufing, ReadLen); end; end; CloseFile(f); InternetCloseHandle(hUrl); InternetCloseHandle(hInet); Terminate; end; Последний раз редактировалось ProDaNTe, 25.12.2011 в 21:37. |
#6
|
||||
|
||||
![]() Код не читал, но очень похоже, что запрос проходит в широких строках (aka WideString). В делфи начиная с N-ной версии (N~9) String стало синонимом WideString. Попробуйте использовать AnsiString.
jmp $ ; Happy End! The Cake Is A Lie. |
#7
|
|||
|
|||
![]() Bargest, Спасибо!
|