当前位置: 首页 > 面试题库 >

如何在Python的HTTP标头中设置和检索Cookie?

苏晓博
2023-03-14
问题内容

我需要从服务器发送的HTTP响应中获取cookie,并将其放在下一个请求的标头中。我该怎么做?

提前致谢。


问题答案:

您应该将cookielib模块与urllib一起使用。

它将在请求之间存储cookie,您可以将它们加载/保存在磁盘上。这是一个例子:

import cookielib
import urllib2

cookies = cookielib.LWPCookieJar()
handlers = [
    urllib2.HTTPHandler(),
    urllib2.HTTPSHandler(),
    urllib2.HTTPCookieProcessor(cookies)
    ]
opener = urllib2.build_opener(*handlers)

def fetch(uri):
    req = urllib2.Request(uri)
    return opener.open(req)

def dump():
    for cookie in cookies:
        print cookie.name, cookie.value

uri = 'http://www.google.com/'
res = fetch(uri)
dump()

res = fetch(uri)
dump()

# save cookies to disk. you can load them with cookies.load() as well.
cookies.save('mycookies.txt')

请注意,请求之间的NID和值PREF相同。如果省略,则HTTPCookieProcessor它们将有所不同(urllib2不会Cookie在第二个请求上发送标头)。



 类似资料:
  • 问题内容: 我很好奇是否有任何图书馆已经在处理这种事情,或者我必须自己再做一次。所以,问题是我想从服务器上的访问者HTTP标头请求中获取IP地址字段,然后用Java完成整个工作?你能帮忙的话,我会很高兴。提前致谢。 问题答案: 使用对象的方法检索变量的值。这是示例代码: 如果此代码返回空字符串,则使用以下方式:

  • 问题内容: 我对python的urllib很陌生。我需要做的是为发送到服务器的请求设置自定义标头。具体来说,我需要设置Content- type和Authorizations标头。我已经研究了python文档,但是找不到。 问题答案: 使用urllib2添加HTTP标头: 从文档:

  • 问题内容: 使用以下示例代码: 我们想用上面的代码在column_names中设置带有列名的标头,但是它不起作用。尽管正在创建表,但标题不可见。 问题答案: 为了能够看到标题,您应该将表放在JScrollPane中。 或者,如果您确实不希望使用滚动窗格,则可以将tableHeader专门添加到面板中(但是:通常,您不希望这种行为):

  • 问题内容: 我有一个带有多个控制器的webapp。我在一个控制器中(通过)在回调中设置服务的默认标头。但是,这些标头不会在其他控制器的后续调用中设置。是否必须为我拥有的每个控制器设置一次,或者一次设置足够? 问题答案: 您应该使用以下两种方法之一: 在运行块中设置$ http.defaults.headers 使用拦截器

  • 我已经通过了这个链接。[如何修复“HTTP标头中CRLF序列的不正确中和('HTTP响应拆分')” 但它并没有给我解决方案。 我的代码也给出错误“HTTP标头中CRLF序列的不正确中和('HTTP响应拆分') 我的代码片段是: 在veracode扫描中,最后一行出现错误。不知道该怎么办。