0

我正在使用 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

不知道哪里错了,求大神帮忙!

4

1 回答 1

0

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

opener = urllib2.build_opener()
opener.addheaders.append(('Cookie', 'RT=Some Values'))
#request_uri = ......
response = opener.open(request_uri)
print response.read()
于 2013-10-14T03:53:11.443 回答