如何手动在urllib2中设置Cookie?

时间:2013-10-14 02:50:09

标签: python cookies urllib2

我正在使用python urllib2下载网页。但有一个问题困扰我。我想设置一个cookie,但我不知道该怎么做。我可以使用CookieJar,或者尝试其他方式来解决我的问题。感谢。

这是我的代码:

def http_get(uri, params, previous_url):
    cj = cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    urllib2.install_opener(opener)
    opener.handle_open["http"][0].set_http_debuglevel(1)
    user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36'
    opener.addheaders.append(('Cookie','RT=Some Values'))
    opener.addheaders.append(('User-Agent', user_agent))
    opener.addheaders.append(('Referer', previous_url))
    opener.addheaders.append(('Accept', '*/*'))
    opener.addheaders.append(('Accept-Encoding', 'gzip,deflate,sdch'))
    url_values = urllib.urlencode(params)
    request_uri = uri + '?' + url_values    
    request = urllib2.Request(request_uri)
    response = opener.open(request_uri)
    return response, request_uri

我不知道哪里出错了,请帮忙!

1 个答案:

答案 0 :(得分:0)

您的代码是否有效?我认为您不必使用CookieJar。通常代码应为:

opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'RT=Some Values'))
#request_uri = ......
response = opener.open(request_uri)
print response.read()