print
语句出现错误
“请求”对象没有属性“ getcode”并读取
sample = '[{{ "t": "{0}", "to": "{1}", "evs": "{2}", "fds": {3} }}]'
response = urllib.request.Request(REST_API_URL, sample.encode('utf-8'))
print("Response: HTTP {0} {1}\n".format(response.getcode(), response.read()))
答案 0 :(得分:2)
urllib.request.Request
是urllib.request
模块用来抽象请求的类。要发出HTTP请求,请改用urllib.request.urlopen
:
response = urllib.request.urlopen(REST_API_URL, sample.encode('utf-8'))
答案 1 :(得分:1)
您命名为response
的变量实际上是urllib.request.Request
的实例。如果您需要响应,则需要先发送请求,然后使用urllib.request.urlopen()
完成。
但是,我建议您尝试使用更易于使用的requests
模块,而不要弄清楚如何使用python urllib.request。例如,您的代码可以这样表示:
import requests
resp = requests.post(REST_API_URL, json=[{{ "t": "{0}", "to": "{1}", "evs": "{2}", "fds": {3} }}])
print("Response: HTTP {} {}".format(resp.statuscode, resp.content)