req2 = requests.put(url, json = json_data, headers= header)
print(req2.status_code)
print(req2.headers)
json_data = req1.json()
url = 'some url'
和
header = {'Content-Type': 'application/data;charset=UTF-16'}
在上面的代码中,req1从服务器获取响应。
req1
json与url
一起传递以获取回复req2
。我想使用req2
使用PUT()进行charset = utf-16
。当我尝试通过设置req2(第一行代码)的标题来执行此操作时,它不会执行任何操作,因为语句print(req2.headers)
仍然打印
{'Date': 'Thu, 01 Mar 2018 09:51:00 GMT', 'Transfer-Encoding': 'chunked', 'Content-Type': 'application/json;charset=UTF-8'}
答案 0 :(得分:1)
如果我更正,req2.headers会显示响应标头。您正在设置请求标头的Content-Type,表明您发送的内容是以UTF-16编码的。我不认为响应必须与请求具有相同的编码,由服务器来决定。
答案 1 :(得分:1)
您应该使用Accept-Charset
标题说出您希望收到的内容类型:
Accept-Charset: utf-8
服务器仍然可以忽略您。通常它不是问题,因为如果您使用response.text
字段,请求将为您解码响应。