|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi - POST запрос и Charles
Господа, не получается сделать правильный запрос.
Charles отследил следующее: POST /ru/metals/order HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.17 Host: tables.finance.ua 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 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Encoding: gzip, deflate Referer: http://tables.finance.ua/ru/metals/order Cookie: b=b Content-Length: 458 Method: POST http://tables.finance.ua/ru/metals/order HTTP/1.1 Content-Type: application/x-www-form-urlencoded xajax=order_load&xajaxr=1417029946128&xajaxargs[]=%3Cxjxobj%3E%3Ce%3E%3Ck%3Eevent%3C%2Fk%3E%3Cv%3Em etal%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Emetal%3C%2Fk %3E%3Cv%3EXAG%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Ereg ion%3C%2Fk%3E%3Cv%3E79228162532711289474951200262% 3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Eprice%3C%2Fk%3E%3 Cv%3Egramm%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Epresen t%3C%2Fk%3E%3Cv%3E%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck% 3Etype%3C%2Fk%3E%3Cv%3E*%3C%2Fv%3E%3C%2Fe%3E%3C%2F xjxobj%3E На код ниже пишет неизвестную функцию... ошибку, короче. Как правильнее? Код:
var PostData: TStringList; html: TStringStream; begin try PostData := TStringList.Create; html := TStringStream.Create(''); idHTTP1.HandleRedirects:=true; PostData.Add('POST /ru/metals/order HTTP/1.1' + #13#10); PostData.Add('User-Agent: Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.17' + #13#10); PostData.Add('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#10); PostData.Add('Accept-Language: ru-RU,ru;q=0.9,en;q=0.8' + #13#10); PostData.Add('Accept-Encoding: gzip, deflate' + #13#10); PostData.Add('Referer: http://tables.finance.ua/ru/metals/order' + #13#10); PostData.Add('Cookie: b=b' + #13#10); PostData.Add('Content-Length: 458' + #13#10); PostData.Add('Method: POST http://tables.finance.ua/ru/metals/order HTTP/1.1' + #13#10); PostData.Add('Content-Type: application/x-www-form-urlencoded' + #13#10 + #13#10); PostData.Add('xajax=order_load&xajaxr=1417029946128&xajaxargs[]=%3Cxjxobj%3E%3Ce%3E%3Ck%3Eevent%3C%2Fk%3E%3Cv%3Emetal%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Emetal%' + '3C%2Fk%3E%3Cv%3EXAG%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Eregion%3C%2Fk%3E%3Cv%3E79228162532711289474951200262%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Eprice%3C%2Fk%3E%3Cv%3Egramm%' + '3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Epresent%3C%2Fk%3E%3Cv%3E%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Etype%3C%2Fk%3E%3Cv%3E*%3C%2Fv%3E%3C%2Fe%3E%3C%2Fxjxobj%3'); IdHTTP1.Post('http://tables.finance.ua/ru/metals/order',PostData,html); Memo1.Text := UTF8toANSI(html.DataString); finally end; html.Free; end; |
#2
|
||||
|
||||
что-то вроде этого:
Код:
var LPost: TStringList; begin LPost:=TStringList.Create; try LPost.Text:='xajax=order_load&xajaxr=1417029946128&xajaxargs[]=%3Cxjxobj%3E%3Ce%3E%3Ck%3Eevent%..........'; IdHTTP1.Request.UserAgent:='Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.17'; IdHTTP1.Request.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'; ... IdHTTP1.Request.RawHeaders.Add('Cookie: b=b'); ... Memo1.Text:=UTF8Decode(IdHTTP1.Post('/ru/metals/order', LPost)); finally LPost.Free; end; end; Пишу программы за еду. __________________ |