【问题标题】:How to set Cookie in urllib2 manually?如何手动在 urllib2 中设置 Cookie?
【发布时间】:2013-10-14 11:53:11
【问题描述】:

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

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

【问题讨论】:

  • 你有.append(('Cookie', ...。在你的代码中?

标签: python cookies urllib2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2014-02-25
    • 1970-01-01
    相关资源
    最近更新 更多