我刚刚从python 3.1更新到python 3.2(格式化HD),我的一个脚本停止工作.它给了我标题中的错误.
我会自己修复它,但我甚至不知道什么是可迭代的字节是lol.我尝试了类型转换字节(数据),但这也没有用.TypeError:没有编码的字符串参数
url = "http://example.com/index.php?app=core&module=global§ion=login&do=process"
values = {"username" : USERNAME,
"password" : PASSWORD}
data = urllib.parse.urlencode(values)
req = urllib.request.Request(url, data)
urllib.request.urlopen(req)
Run Code Online (Sandbox Code Playgroud)
它在最后一行崩溃了.
适用于3.1,但不适用于3.2
我正在尝试使用来自python的Google的QPX Express API.我在发送请求时遇到了两个问题.起初我试过的是这个:
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=MY_KEY_HERE"
values = {"request": {"passengers": {"kind": "qpxexpress#passengerCounts", "adultCount": 1}, "slice": [{"kind": "qpxexpress#sliceInput", "origin": "RDU", "destination": location, "date": dateGo}]}}
data = json.dumps(values)
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
response = f.read()
f.close()
print(response)
Run Code Online (Sandbox Code Playgroud)
基于以下代码:urllib2和json
当我运行上面的代码时,我收到以下错误消息:
TypeError: POST data should be bytes or an iterable of bytes. It cannot be of type str.
Run Code Online (Sandbox Code Playgroud)
我搜索了一个解决方案并根据以下问题调整了我的代码:TypeError:POST数据应该是字节或可迭代的字节.它不能是str
我将代码更改为:
url = "https://www.googleapis.com/qpxExpress/v1/trips/search?key=AIzaSyCMp2ZnKI3J91sog7a7m7-Hzcn402FyUZo"
values = {"request": {"passengers": {"kind": "qpxexpress#passengerCounts", "adultCount": 1}, "slice": [{"kind": "qpxexpress#sliceInput", "origin": "RDU", "destination": …Run Code Online (Sandbox Code Playgroud)