Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2017, 12:06   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
как раз в xhr и передаётся то, что я перечислил в idHTTP1.Request
Нет, там явно не то, как минимум GET, а не POST, и параметров нет.

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
Возвращается страница без появления стоимости.
Дык надо не только смотреть, но и думать.

При первом открытии страницы в чистом браузере есть цена? Нет.

А когда есть? После выбора адреса.

После выбора загружается новая страница? Да.
В ее исходнике есть цена? Да.

В адрес страницы добавился какой-нибудь ID? Нет.

А при обновлении или открытии другой страницы есть цена? Да.

—> значит наверно после выбора адрес сохраняется в сессии на сервере, то есть нужны куки. Раз есть отдельный POST запрос с адресом к серверу, то видимо в этот момент адрес и меняется.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 15.12.2017 в 12:09.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2017, 14:18   #12
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Почему-то зависает, если не закомментировать строку
Код:
httpsend.Headers.Add('Content-Length: 11');
Не думаю, что это влияет, но в результате получаю
Цитата:
<title>Request denied by WatchGuard HTTP Proxy</title>
(это не весь, конечно, код html)

Код:
 pList:= TStringList.Create;
 httpsend:=THTTPSend.Create;

  httpsend.Protocol := '1.1';
  httpsend.UserAgent:=
  'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '+
  'Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144 (Edition Yx)';
    httpsend.Headers.Add('Accept: */*');
    httpsend.Headers.Add('Accept-Encoding: gzip, deflate');
    httpsend.Headers.Add('Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7');
    httpsend.Headers.Add('Connection: keep-alive');
//    httpsend.Headers.Add('Content-Length: 11');
    httpsend.Headers.Add('Content-Type: application/x-www-form-urlencoded; charset=UTF-8');
    httpsend.Headers.Add('Cookie: TEREMOK_CURRENT_CITY=msk; TEREMOK_IS_MOBILE_VERSION=N');
    httpsend.Headers.Add('Host: teremok.ru');
    httpsend.Headers.Add('Origin: http://teremok.ru');
    httpsend.Headers.Add('Referer: http://teremok.ru/menu/bliny_sytnye/blin_dvoynoy_s_vetchinoy_i_syrom/');
    httpsend.Headers.Add('X-Requested-With: XMLHttpRequest');
    httpsend.Headers.Add('addr_id: 525');
    httpsend.HTTPMethod('post','http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');
    pList.LoadFromStream(httpsend.Document);

    pList.SaveToFile('terem_result1.html');

  httpsend.Protocol := '1.1';
  httpsend.UserAgent:=
  'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '+
  'Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144 (Edition Yx)';
    httpsend.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8');
    httpsend.Headers.Add('Accept-Encoding: gzip, deflate');
    httpsend.Headers.Add('Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7');
    httpsend.Headers.Add('Cache-Control: max-age=0');
    httpsend.Headers.Add('Connection: keep-alive');
    httpsend.Headers.Add('Cookie: TEREMOK_CURRENT_CITY=msk; TEREMOK_IS_MOBILE_VERSION=N');
    httpsend.Headers.Add('Host: teremok.ru');
    httpsend.Headers.Add('Referer: http://teremok.ru/menu/bliny_sytnye/blin_dvoynoy_s_vetchinoy_i_syrom/');
    httpsend.Headers.Add('Upgrade-Insecure-Requests: 1');
    httpsend.HTTPMethod('get','http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');
    pList.LoadFromStream(httpsend.Document);

    pList.SaveToFile('terem_result2.html');

    TmpStr:=pList.Text;
    httpsend.free;
Ship_1 вне форума Ответить с цитированием
Старый 15.12.2017, 14:22   #13
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Нет, там явно не то, как минимум GET, а не POST, и параметров нет.
Где get, а не post?
Цитата:
POST /menu/bliny_sytnye/blin_ilya_muromets_buzhenina_s_grib ami_syrom_zelenyu/ HTTP/1.1
Host: teremok.ru
Connection: keep-alive
Content-Length: 11
Accept: */*
Origin: http://teremok.ru
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://teremok.ru/menu/bliny_sytnye/...syrom_zelenyu/
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: TEREMOK_CURRENT_CITY=msk; TEREMOK_IS_MOBILE_VERSION=N; _ym_uid=....
Ship_1 вне форума Ответить с цитированием
Старый 15.12.2017, 14:41   #14
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Для проверки скопировал в заголовки Post и Get все куки из Doc и XHR. Всё равно тот же результат. А при раскомментировании Content-Length всё равно зависает.
Ship_1 вне форума Ответить с цитированием
Старый 15.12.2017, 14:45   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
Где get, а не post?
В коде на Дельфи.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 15.12.2017 в 14:48.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2017, 14:54   #16
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Цитата:
Сообщение от Ship_1 Посмотреть сообщение
как раз в xhr и передаётся то, что я перечислил в idHTTP1.Request
Нет, там явно не то, как минимум GET, а не POST, и параметров нет.
в XHR как раз post, я скопировал оттуда выше. А если там post, то почему в коде get? Попробовал заменить в коде post на get - всё равно тот же результат.
Ship_1 вне форума Ответить с цитированием
Старый 15.12.2017, 14:59   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
то почему в коде get?
а я знаю почему у вас оно?

POST на сайт_ что и как запросить_ - Общие вопросы Delphi - Форум программистов - Mozilla Firefo.png
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2017, 15:24   #18
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Но ведь как раз этот ID возвращается от формы в post при выборе места...
Попробовал. Результат тот же и в первом, и во втором запросе.
Ship_1 вне форума Ответить с цитированием
Старый 15.12.2017, 15:27   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы о чем?

На скриншоте выше как минимум две ошибки: GET вместо POST и отсутствие тела с адресом (и еще синтаксис скорее всего не тот, там вроде JSON объект был, а не просто ":").

Fiddler Web Debugger 2017-12-15 13.50.00.png
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.12.2017, 16:02   #20
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Да, я уже понял про какой get вы говорите. Я выше (<== ссылка; блин, и почему их сделали неотличимыми от текста) привёл тот код, который у меня теперь. Я туда скопировал всё, что было в xhr. И в таком виде, как это вывел хром.
Ship_1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запросить значение ячейки конкретной строки в листе Excel через запрос? intersk Microsoft Office Access 0 27.03.2015 21:01
как скопировать весь сайт включая все что подключается в js goluzov HTML и CSS 3 17.11.2011 18:14
Как запросить логин с которым пользователь входит в комп? Dorvir Microsoft Office Excel 2 18.06.2008 13:09
сайт в FireFox выглядит на 5+ , а вот в Explorer как не знаю что Мышь в полоску HTML и CSS 4 24.10.2007 18:43