【发布时间】:2019-11-15 02:45:14
【问题描述】:
我使用以下函数从网络获取数据,但失败了。不知urllib.quote是否用错了
我用过urllib.urlencode(xx),但它显示not a valid non-string sequence or mapping object
我的请求数据是:
[{"Keys": "SV_cY1tKhYiocNluHb", "Details": [{"id2": "PK_2gl9xtYKX7TJi29"}], "language": "EN", "id": "535985"}]
任何人都可以提供帮助。非常感谢!!!
###This Funcation call API Post Data
def CallApi(apilink, indata):
token = gettoken()
data = json.dumps(indata, ensure_ascii=False)
print(data)
headers = {'content-type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer %s' % (token)}
proxy = urllib2.ProxyHandler({})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
DataForGet=urllib.quote(data)
NewUrl= apilink + "?" + DataForGet
request = urllib2.Request(NewUrl, headers=headers)
response = urllib2.urlopen(request, timeout=300)
message = response.read()
print(message)
错误:
下面的错误消息:文件“/opt/freeware/lib/python2.7/urllib2.py”,第 1198 行,在 do_open 中引发 URLError(err)
【问题讨论】:
-
和下面的错误消息:文件“/opt/freeware/lib/python2.7/urllib2.py”,第 1198 行,在 do_open 中引发 URLError(err)
-
如果你尝试使用导入请求?
-
这是旧服务器和python 2.7版,无法安装请求模型
-
Requests 正式支持 Python 2.7 & 3.4–3.7
-
但是需要 pip 安装对吗?当前我们的服务器不允许安装模型
标签: python api get urllib urllib2