У меня серьезные проблемы с попыткой заставить Mechanize сохранить файлы cookie, установленные по первому запрошенному URL-адресу, при запросе второго URL-адреса.Чтобы проверить, отправлялось ли что-нибудь, я разместил на своем сервере следующий файл (cookies.php):
<?php
echo "cookies:::";
print_r($_COOKIE);
?>
Ниже приведен файл python, который означает достижение моей цели.Я бы хотел, чтобы файлы cookie, установленные первым сайтом, которые я выводил для тестирования, также выводились моим PHP-файлом (он также должен быть установлен до второго запроса):
from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup
import mechanize
from pprint import *
#
class NullCookieProcessor(mechanize.HTTPCookieProcessor):
def http_request(self, request): return request
def http_response(self, request, response): return response
opener = mechanize.build_opener(NullCookieProcessor)
request = mechanize.Request('http://www.google.com')
response = mechanize.urlopen(request)
cj = mechanize.CookieJar()
cj.extract_cookies(response, request)
pprint(cj)
request2 = mechanize.Request('http://[domain2].com/cookies.php')
cj.add_cookie_header(request2)
response2 = mechanize.urlopen(request2)
print response2.geturl()
print response2.info() # headers
print response2.read() # body (readline and readlines work too)
вывод:
<mechanize._clientcookie.CookieJar[Cookie(version=0, name='NID', value='50=rkj1MMbufL7KRMj00TMF4rI4x7VNYgzWk5P97V05gBAMVOrYuSbb6-hpXVC3y_eD999uECgnBn7YqZ-ZGB1kmWhc_wQWV9nKlPER4_3BWEVSGU632vXEhgYROAz3QrP5', port=None, port_specified=False, domain='.google.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1331337059, discard=False, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False), Cookie(version=0, name='PREF', value='ID=20342e7c6a6b8f8b:FF=0:TM=1315525859:LM=1315525859:S=RppxtfAGwVsGkZiJ', port=None, port_specified=False, domain='.google.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1378597859, discard=False, comment=None, comment_url=None, rest={}, rfc2109=False)]>
http://[MY DOMAIN].com/cookies.php
Date: Thu, 08 Sep 2011 23:51:01 GMT
Server: Apache mod_fcgid/2.3.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.17
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
cookies:::Array
(
)
ЛЮБЫЕ идеи, как заставить это работать?Следует отметить, что приведенный выше код скопирован + вставлен из документов ... и что я также попробовал другой пример кода, предоставленный документацией, который можно найти здесь: http://wwwsearch.sourceforge.net/mechanize/doc.html