gpt4 book ai didi

Python urllib2.Request.get_header 文档?

转载 作者:行者123 更新时间:2023-11-28 23:06:05 24 4
gpt4 key购买 nike

我正在开发一个涉及 urllib2.Request 实例预处理的库(使用 urllib2.BaseHandler.xxx_request 回调)。一些预处理器需要检查提供的 urllib2.Request 实例中包含的 header 。

我注意到官方 Python 文档只列出了添加 header 和检查 header 是否存在的方法。有一个未记录的 urllib2.Request.get_header 方法,尽管它似乎有一些怪癖。例如,它改变了多词标题的大小写:

from urllib2 import Request
req = Request('http://www.example.com')
req.add_header('Content-Type', 'application/x-www-form-urlencoded')

req.get_header('Content-Type') # Produces nothing
req.get_header('Content-type') # Produces 'application/x-www-form-urlencoded'

get_header 是否在任何地方得到官方支持和/或记录?如果没有,是否有从 urllib2.Request 实例读取 header 值的最佳实践?

最佳答案

我确定官方支持 get_header,但我找不到文档中提到的它。

关于您的“get_header 返回无”问题,查看 urllib2.py 的源代码,add_header 方法在保存 header 之前调用 key.capitalize()键值对,这就是 get_header('Content-type') 起作用而其他变体不起作用的原因:

class Request:
def add_header(self, key, val):
self.headers[key.capitalize()] = val

>>> 'content-type'.capitalize()
'Content-type'

关于Python urllib2.Request.get_header 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com