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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2017, 12:28   #41
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Нет. Сейчас скрин покажу. Может для СПб цен нет)))
Изображения
Тип файла: jpg teremok.jpg (79.8 Кб, 114 просмотров)

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

Ого, как интересно... На их форуме читал пару жалоб на отсутствие кнопки. Сейчас впервые почти своими глазами увидел.
Может, по IP определяется локация и кнопка отображается только для Москвы...
Ship_1 вне форума Ответить с цитированием
Старый 18.12.2017, 12:34   #43
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Сейчас попробую в хроме затем через прокси
Aliens_wolfs вне форума Ответить с цитированием
Старый 18.12.2017, 12:36   #44
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так выберите не Спб.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.12.2017, 12:37   #45
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
Ну так выберите не Спб.
Вот я ламер)))) Да в Москве показывает. Сейчас потестируем
Aliens_wolfs вне форума Ответить с цитированием
Старый 18.12.2017, 19:33   #46
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Вот попробуйте этот код, я не смог его до конца проверить так как мне сервер дает в httpsend
Cookie: TEREMOK_CURRENT_CITY=spb; PHPSESSID=iknsm1c7vhvhm8a9lco66fpp6 3; TEREMOK_IS_MOBILE_VERSION=N

а нужен TEREMOK_CURRENT_CITY=msk

Сейчас экспериментирую чтобы в httpsend замену в Cookie делать на нужную строку

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
httpsend: THttpSend;
pList: TStringList;
DocData: TStringStream;
i: integer;
begin
pList:= TStringList.Create;
httpsend:=THTTPSend.Create;
DocData:=TStringStream.Create('');
try

  httpsend.Protocol := '1.1';
  httpsend.UserAgent:=  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 '+
'(KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36 OPR/49.0.2725.47';
 httpsend.Headers.Add('Accept: */*');
 httpsend.Headers.Add('Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7');
//Accept-Encoding: gzip, deflate')
 httpsend.Headers.Add('Cache-Control: no-cache');
 httpsend.HTTPMethod('GET','http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');
//Вначале получаем Cookies
  if httpsend.ResultCode = 200 then
  begin
  httpsend.Headers.Clear;
  httpsend.Headers.Add('Accept: */*');
  httpsend.Headers.Add('x-requested-with: XMLHttpRequest');
  httpsend.Headers.Add('Referer: http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');
  //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: no-cache');
  //Делаем подмену Cookies
   For i:= 0 to httpsend.Cookies.Count - 1 do
   if Pos(AnsiUpperCase('TEREMOK_CURRENT_CITY='), AnsiUpperCase(httpsend.Cookies.Strings[i])) <> 0 then
   httpsend.Cookies.Strings[i]:= 'TEREMOK_CURRENT_CITY=msk';

  DocData.WriteString('addr_id=603');
  HTTPSend.Document.LoadFromStream(DocData);
  httpsend.HTTPMethod('POST','http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');
  end;

 //pList.LoadFromStream(httpsend.Document);
// pList.SaveToFile('terem_result1.html');
Form1.Memo1.Lines.LoadFromStream(httpsend.Document);
Form1.Memo1.Lines.SaveToFile('D:\terem_result1.html');
Form1.Memo1.Lines.Text:= Utf8ToAnsi(Form1.Memo1.Lines.Text);


finally
pList.Free;
httpsend.Free;
DocData.Free
end;

end;
И маленький снифер в помощь для просмотра пакетов
Вложения
Тип файла: rar SmartSniff.rar (121.4 Кб, 12 просмотров)

Последний раз редактировалось Aliens_wolfs; 18.12.2017 в 20:38.
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.12.2017, 09:56   #47
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Всё равно не получилось...
Спасибо за снифер Правда, скачать пока не получится: админский антивирус не пропускает, почему-то.
Ship_1 вне форума Ответить с цитированием
Старый 19.12.2017, 12:48   #48
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Сейчас еще поэкспериментируем, там еще при нажатии на кнопку указать цену всплывает окно, после выбора в этом окне еще скрипт выполняется и допонительные куки присваиваются.

Последний раз редактировалось Aliens_wolfs; 19.12.2017 в 12:53.
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.12.2017, 13:11   #49
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Так из этого окна как раз и берётся выбранное ID. Зачем же там ещё дополнительные куки?..
Ship_1 вне форума Ответить с цитированием
Старый 19.12.2017, 13:16   #50
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

В общем как то из этого окна генерирует куки методом какого то скрипта

А ID это адрес ресторана из списка в окне

Вот так мне цену получилось увидеть

Код:
  httpsend.UserAgent:=  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 '+
'(KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36 OPR/49.0.2725.47';

httpsend.Headers.Add('Accept: */*');
httpsend.Headers.Add('Accept-Language: ru-RU');
httpsend.Headers.Add('Cookie: PHPSESSID=ngpj9hc9h9mjdpev77dhk53tn7; tmr_detect=0%7C1513677880205; TEREMOK_IS_MOBILE_VERSION=N;'
+ '_ga=GA1.2.487355652.1513677851; _gid=GA1.2.125047124.1513677851; _gat=1; _ym_uid=151367785135355848; _ym_isad=2; TEREMOK_CURRENT_CITY=msk');

httpsend.HTTPMethod('GET','http://teremok.ru/menu/dobavki_v_bliny_i_kashi/mayonez/');

Form1.Memo1.Lines.LoadFromStream(httpsend.Document);
Form1.Memo1.Lines.SaveToFile('D:\terem_result1.html');
Form1.Memo1.Lines.Text:= Utf8ToAnsi(Form1.Memo1.Lines.Text);
Как получить эти куки пока не пойму даже в POST запросе они уже есть
Код:
_ga=GA1.2.487355652.1513677851; _gid=GA1.2.125047124.1513677851; _gat=1; _ym_uid=151367785135355848; PHPSESSID=ngpj9hc9h9mjdpev77dhk53tn7; 
tmr_detect=0%7C1513677880205
Взял эти куки через снифер и мне дало цену в коде что выше
Снифером отследил все покеты и сделал вывод что данные куки не получены от сервера, а созданы методом какого то скрипта

Sciv в посте #10 описал метод

Последний раз редактировалось Aliens_wolfs; 19.12.2017 в 13:48.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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