如何用urllib2(和urllib)python将cookie发送到网站



我更喜欢只使用urllib2和urllib,我知道这个问题已经在这里得到了回答,但当我阅读回复时,我感到非常困惑。很多回复都建议使用包含"标题"一词的内容,所以cookie只是一个常规的标题,比如http://myhttp.info/,还是它们是一个子集?我也很困惑如何才能成功地将它们实现到我的代码中

def getURLSourceFromChrome(url):
    values = {}
    headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
                'connection' : 'keep-alive',
                'Accept' :     'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                'Referer' : 'http://google.com/',
                }
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(req)
    return response.read()

大多数响应都使用urllib.buildopener(),我想知道我是否必须使用该方法来完成任务,或者我是否可以简单地将其添加到我的代码中,如下所示:

def getURLSourceFromChrome(url):
    values = {}
    headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
                'connection' : 'keep-alive',
                'Accept' :     'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
                'Referer' : 'http://google.com/',
                'someCookie' : 'SomeCookieInformation'
                }
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(req)
    return response.read()

我使用的是Python 2.7

"设置多个cookie,根据需要多次添加set cookie头。关于引号,在python中应该是header={…"set cookie":"name=vale"…}如果您的问题是关于set cookie的http规范,请参阅链接-ejrav"

最新更新