1

下面的代码在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 不正确或其他原因?

4

1 回答 1

0

您的 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 将数据发布到登录表单

于 2013-06-10T19:22:07.377 回答