Я очищаю страницу, которая является результатом перенаправления: сначала я захожу на страницу1, затем она перенаправляет на страницу2 через http-equiv="refresh"
. Я пересматриваю страницу2. Содержимое на странице 2 основано на некоторых наборах файлов cookie страницы. Я вижу, что страница 1 возвращает 2 файла cookie, но когда я запрашиваю страницу 2 (при отправке того же CookieContainer
, отсутствует один файл cookie. Что не так в моем коде?
Спасибо:
Первый :
Я создаю CookieContainer
и HttpWebRequest
и запрашиваю для page1.
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(eQuery);<br>
req.AllowAutoRedirect = true; // but it doesn't autoredirects the meta-refresh<br>
req.CookieContainer = cookiesContainer;
Это результат, который я получаю при посещении страницы1
HTTP/1.1 200 OK <br>
Date: Tue, 12 Apr 2011 19:14:06 GMT<br>
Server: (...)<br>
Set-Cookie: NAME1=VALUE1; path=/<br>
Expires: Thu, 19 Nov 1981 08:52:00 GMT<br>
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0<br>
Pragma: no-cache<br>
Set-Cookie: NAME2=VALUE2; expires=Wed, 13-Apr-2011 19:14:06 GMT<br>
Content-Length: 174<br>
Keep-Alive: timeout=5, max=100<br>
Connection: Keep-Alive<br>
Content-Type: text/html<br>
(...)
Пока все в порядке, у меня есть два файла cookie и в контейнере два объекта cookie.
Затем я анализирую значение "содержимого" meta http-equiv
для следующего URL. И запросите его, используя аналогичный код и используя тот же контейнер. Но отправлено только одно печенье. Вот HTTP отправлено:
GET DETECTED_URL_IN_HTTP_EQUIV_REFRESH HTTP/1.1 <br>
User-Agent: (...) <br>
Host: example.com <br>
Cookie: NAME1=VALUE1
Как видите, файл cookie NAME2 отсутствует. Почему это происходит? Есть ли что-то связанное между двумя cookie-файлами (у одного есть путь, а у другого - дата окончания срока действия)
Любая идея, как я могу передать два куки?
PS: у меня нет доступа к странице 1, поэтому я не могу указать путь или срок действия файлов cookie. Я ломаю эти страницы.
Спасибо.