python - urllib2.Request.add_header() 添加header失败?

 博客百度2 发布于 2022-11-06 00:09

某网站api,每次进行POST请求时,需要开发者提交一个header进行验证,类似这样{'User-Key': 'ABCD1234'},但是我发现使用urllib2.Request.add_header()进行添加,会失败?print req.get_header('User-Key')会打印None,而且提交过去,服务器会返回验证失败的状态码

url = 'API的URL'
data = {'data1': '12345'}

req = urllib2.Request(url)
req.add_header('User-Key': 'ABCD1234')
req.add_data(urllib.urlencode(data))

print req.get_header('User-Key') 
# None

不需要验证User-Key的api,则能够成功返回json。
我发现我add_header一个常规的header,是可行的,例如:

req.add_header('Content-type', 'application/json')
print req.get_header('Content-type') 
# application/json

试着网上找了很久,一直没有头绪,谢谢了

1 个回答
  • class Request:
    def add_header(self, key, val):
    self.headers[key.capitalize()] = val

    很明显,你的key在存入时被capitalize()了。
    print req.get_header('User-Key'.capitalize())

    2022-11-10 22:39 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有