0

我想做什么?

访问一个站点,检索 cookie,通过发送 cookie 信息访问下一页。一切正常,但 httplib2 给我一个站点上的 socks 代理问题太多了。

http = httplib2.Http()
main_url = 'http://mywebsite.com/get.aspx?id='+ id +'&rows=25'
response, content = http.request(main_url, 'GET', headers=headers)
main_cookie = response['set-cookie']
referer = 'http://google.com'
headers = {'Content-type': 'application/x-www-form-urlencoded', 'Cookie': main_cookie, 'User-Agent' : USER_AGENT, 'Referer' : referer}

如何使用 urllib2 做同样的事情(cookie 检索,传递到同一站点上的下一页)?

谢谢你。

4

1 回答 1

3

使用cookielib,它将像网络浏览器一样自动处理所有与 cookie 相关的工作。

例子:

import urllib2
import cookielib

cookie_jar = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))

#Get the first page with the cookie, installing it in the cookie jar automatically
opener.open("http://yoursite.com/set-cookie")

#Get the second page, passing on the cookie in the cookiejar.
opener.open("http://yoursite.com/other")

#Alternatively, you can also install this opener as the default urllib2 opener:
urllib2.install_opener(opener)
#Now all urllib2 requests will use cookies:
urllib2.urlopen("http://yoursite.com/other")
于 2010-06-02T18:53:10.480 回答