python - urllib2.Request.add_header() 添加header失败?
PHP中文网
PHP中文网 2017-04-17 11:18:52
[Python讨论组]

某网站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

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
大家讲道理

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号