将 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/
如何将 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/