【发布时间】:2018-06-04 16:37:53
【问题描述】:
TypeError: POST 数据应该是字节、字节的可迭代或文件对象。它不能是 str 类型。
import json
import urllib.request as req
from urllib.parse import urlencode
url = "https://apiurl.example/search/"
payload = {"SearchString":"mysearch"}
response = req.urlopen(url, urlencode(payload))
data = response.read()
print(data.decode("utf-8"))
我做错了什么?我在 API 的在线界面中尝试过的 url 或“有效负载”没有任何问题。在添加 urlencode 和 utf-8 解码之前,我收到一条错误消息:“TypeError: can't concat str to bytes”。在某些时候它返回了一个空列表,但不记得我当时做了什么。无论如何,它应该返回一些如上所述的数据。谢谢你的时间。
【问题讨论】: