下面的代码在utils.py
manager = PoolManager()
data = json.dumps(dict) #takes in a python dictionary of json
manager.request("POST", "https://myurlthattakesjson", data)
ValueError: need more than 1 value to unpack
服务器运行时给我。这是否最有可能意味着 JSON 不正确或其他原因?
您的 Json 数据需要进行 URL 编码,以便 POST(或 GET)安全。
# import parser
import urllib.parse
manager = PoolManager()
# stringify your data
data = json.dumps(dict) #takes in a python dictionary of json
# base64 encode your data string
encdata = urllib.parse.urlencode(data)
manager.request("POST", "https://myurlthattakesjson", encdata)
我相信在 python3 中他们做了一些改变,数据需要是二进制的。请参阅无法使用 urllib python v3.2.1 将数据发布到登录表单