Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с куками, Как правильно передать нужные куки 
:(
    Опции темы
Akella
  Дата 27.1.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Заходим на сайт irr.kz, вверху выбираем регион. Каждый регион имеет свой код. Соответственно в куках есть запись, например, region=69.
Мне нужно программно взять оттуда все ссылки на объявы.
Если не устанавливать куки, то регион всегда будет 65 при выполнении IdHTTP1.GET(...)

Как правильно "сказать" серверу, что мне нужны объявы для региона 69, например?

Мне нужно перед http1.get() установить куки? Или передать в заголовке запроса куки? Как правильно?

Поначалу делал так:
Код

idhttp1.Request.CustomHeaders.Text := 'Cookie: region=' + sRegionId + '; ';
....
sl.Text :=  IdHTTP1.GET(...);

Получаю страницу с контентов. В контенте правильные ссылки с объявами для района 69.
Я прохожу по каждой ссылке и получаю все подробности объявлений.
Потом я получаю ссылку на следующую страницу с объявлениями. И вот здесь засада. На следующей странице ссылки на объявы для района 65, а не 69. 65 - это район по-умолчанию, как я понял.
И передача 
Код
idhttp1.Request.CustomHeaders.Text := 'Cookie: region=' + sRegionId + '; ';

не помогает

Это сообщение отредактировал(а) Akella - 27.1.2010, 11:22
PM MAIL   Вверх
Akella
Дата 27.1.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Делаю первый запрос.
Проверяю куки
Код

  for I := 0 to IdHTTP1.CookieManager.CookieCollection.Count - 1 do
    s := s + IdHTTP1.CookieManager.CookieCollection.Items[i].ClientCookie+'; ';


region=65; records_per_page=30; PHPSESSID=224f9adb909ce0f766db3f5992bfddea; 


Теперь как мне сделать так, чтобы region был со значением. например 1206? 

Будет ли так правильно?
Код

  for I := 0 to IdHTTP1.CookieManager.CookieCollection.Count - 1 do
    if IdHTTP1.CookieManager.CookieCollection.Items[i].CookieName = 'region'
      then IdHTTP1.CookieManager.CookieCollection.Items[i].Value := '1206';

PM MAIL   Вверх
0x0027
Дата 29.1.2010, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 29.1.2010

Репутация: нет
Всего: -1



да. самый простой вариант проверить - поснифить результат.
PM MAIL   Вверх
Akella
Дата 29.1.2010, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Я программно меняю регион в куках
Код

  for I := 0 to IdHTTP1.CookieManager.CookieCollection.Count - 1 do
    if IdHTTP1.CookieManager.CookieCollection.Items[i].CookieName = 'region'
      then IdHTTP1.CookieManager.CookieCollection.Items[i].Value := '1206';


Но толку от этого нету.
Пришлось сделать так:
собираю куки в переменную, меняю регион, чищу куки, а те куки, что собрал в переменную отправляю через idhttp1.Request.CustomHeaders
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.