Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.11.2014, 23:30
GrabbeR GrabbeR вне форума
Новичок
 
Регистрация: 15.03.2012
Сообщения: 54
Версия 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;
Ответить с цитированием
  #2  
Старый 27.11.2014, 10:39
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

что-то вроде этого:
Код:
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;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter