我有一个完全正常的curl命令
curl -X POST "https://api.optconnect.com/summit/beta/accounts/login/app_secret" -H "accept: application/json" -H "content-type: application/json" -d "{ \"accountId\": 000, \"applicationId\": 000, \"secret\": \"000\"}"
但是我的python代码给了我一个错误的请求错误
import urllib2
import json
url = 'https://api.optconnect.com/summit/beta/accounts/login/app_secret'
data = {'accountId': '000',
'applicationId': '000',
'secret': '000'}
data =json.dumps(data)
headers = {'accept': 'application/json', 'content-type': 'application/json' }
requestt = urllib2.Request(url, data ,headers)
response = urllib2.urlopen(requestt)
result = response.read()
print(result)
文件“testing.py”,第19行,in response = urllib2.urlopen(requestt) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第154行,在urlopen中 return opener.open(url,data,timeout) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第437行,公开 response = meth(req,response) 在http_response中输入文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第550行 'http',请求,响应,代码,消息,hdrs) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第475行,出错 return self._call_chain(* args) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第409行,在_call_chain中 result = func(* args) 在http_error_default中输入文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第558行 提出HTTPError(req.get_full_url(),code,msg,hdrs,fp) urllib2.HTTPError:HTTP错误400:错误请求
我错过了什么?
答案 0 :(得分:1)
在curl
JSON中,accountId
和applicationId
的值是整数,而不是字符串。这可能会对应用程序产生影响。所以使用:
data = {'accountId': 0,
'applicationId': 0,
'secret': '000'}