将 json 转换为 x-www-form-urlencoded

Convert json to x-www-form-urlencoded

如何将 json 转换为 Python 中的 x-www-form-urlencoded?

我正在使用下面的代码进行转换,但它与 Postman 编码的值不同,因此出现错误。

import json
from urllib.parse import urlencode

j = json.dump('json code')
encoded = urlencode(json.loads(j),encode='utf-8')

我在 POST 请求中收到以下错误。

"error": {
    "status": 500,
    "message": "Unexpected token '",
    "message_shortcode": "unexpected token '",
    "datetime": "20180102131407",
    "url": "http://127.0.0.1:3001/api/searches/0SH69023763",
    "qs": "type=form&result_options=%7B%22fieldset%22%3A%5B%22count%22%5D%7D",
    "type": "InternalServerError",
    "group": "server"
}

很明显,您的服务器 API 期望的数据没有以预期的格式传递,这会破坏服务器端代码的执行。 请尝试检查 API 的确切要求以及 headers

如果它期望 Content-Type header 为 'x-www-form-urlencoded',那么请确保在向 API [=25= 发出请求时也传递它].

使用请求模块可以更轻松地实现您的代码,甚至无需使用 urllib 的 urlencode。所以最好你也看看这里:http://docs.python-requests.org/en/v0.10.7/user/quickstart/