Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 15.12.2017, 13:06   #11
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,005
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

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

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

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

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

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

—> значит наверно после выбора адрес сохраняется в сессии на сервере, то есть нужны куки. Раз есть отдельный POST запрос с адресом к серверу, то видимо в этот момент адрес и меняется.

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

Почему-то зависает, если не закомментировать строку
Код:

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, 15:22   #13
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

Цитата:
Сообщение от 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, 15:41   #14
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

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

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
Где get, а не post?
В коде на Дельфи.

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

POST на сайт_ что и как запросить_ - Общие вопросы Delphi - Форум программистов - Mozilla Firefo.png
Alex11223 на форуме   Ответить с цитированием
Старый 15.12.2017, 16:24   #18
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

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

icq: 512-765
skype: alexp.frl
По умолчанию

Вы о чем?

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

Fiddler Web Debugger 2017-12-15 13.50.00.png
Alex11223 на форуме   Ответить с цитированием
Старый 15.12.2017, 17:02   #20
Ship_1
Участник клуба
 
Регистрация: 10.02.2014
Сообщений: 523
Репутация: 60
По умолчанию

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запросить значение ячейки конкретной строки в листе Excel через запрос? intersk Microsoft Office Access 0 27.03.2015 22: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


21:40.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru