某網(wǎng)站api,每次進行POST請求時,需要開發(fā)者提交一個header進行驗證,類似這樣{'User-Key': 'ABCD1234'},但是我發(fā)現(xiàn)使用urllib2.Request.add_header()進行添加,會失?。縫rint req.get_header('User-Key')會打印None,而且提交過去,服務器會返回驗證失敗的狀態(tài)碼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。我發(fā)現(xiàn)我add_header一個常規(guī)的header,是可行的,例如:req.add_header('Content-type', 'application/json')print req.get_header('Content-type') # application/json試著網(wǎng)上找了很久,一直沒有頭緒,謝謝了
1 回答

一只斗牛犬
TA貢獻1784條經(jīng)驗 獲得超2個贊
class Request:
def add_header(self, key, val):
self.headers[key.capitalize()] = val
很明顯,你的key在存入時被capitalize()了。
print req.get_header('User-Key'.capitalize())