如何在使用请求时对帖子数据进行编码?

时间:2018-01-05 05:06:29

标签: python-3.x character-encoding python-requests urlencode parse-server

我正在编写一个python脚本,通过Parse Server向iOS设备发送推送通知。其中一些推送通知将包含具有特殊字符的位置名称,例如æ,ø和å。在iOS设备上,这些字符显示为 符号。

她是我的python代码的相关部分:

import requests 

pushUrl = 'https://***/parse/push'
headers = {'X-Parse-Application-Id': '***',
           'X-Parse-Master-Key': '***',
           'X-Parse-REST-API-Key': '***',
           'Content-Type': 'application/json; charset=UTF-8'}
payload = '{"where": {"objectId": "' + installationId + '"}, "data": {"alert": "abc, æøå"}}'
response = requests.post(pushUrl, headers=headers, data=payload)

我尝试过不同的字符集等,但总能得到相同的结果。如果我使用CURL,字符会在设备上正确显示,所以我知道问题不在于我的Parse Server。

怎么办?

1 个答案:

答案 0 :(得分:0)

Requests(v2.21.0)的文档被写入:

  

提出请求后,您的数据字典将自动进行表单编码。

http://docs.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests