Показать сообщение отдельно
  #1  
Старый 26.11.2014, 23:30
GrabbeR GrabbeR вне форума
Новичок
 
Регистрация: 15.03.2012
Сообщения: 53
Версия Delphi: 7
Репутация: 10
По умолчанию 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;
Ответить с цитированием