您的位置:首页技术文章
文章详情页

python3.x - python连oanda的模拟交易api时现HTTP Error 401: UNAUTHORIZED?

【字号: 日期:2022-07-10 17:26:48浏览:59作者:猪猪

问题描述

用python3连oanda的模拟交易api时现HTTP Error 401: UNAUTHORIZED,新手求教:import urllib.parseimport urllib.request

url = ’https://api-fxpractice.oanda....’access_token = ’a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380’account_id = ’cawa11’values = {’accountId’:account_id}headers = {’Authorization’:’Bearer’+access_token}

data = urllib.parse.urlencode(values).encode('utf-8')

req = urllib.request.Request(url, data, headers)response = urllib.request.urlopen(req)the_page = response.read()

报错:Traceback (most recent call last): File 'C:UserslenovoDesktopbb.py', line 36, in <module>

response = urllib.request.urlopen(req)

File 'C:Python34liburllibrequest.py', line 161, in urlopen

return opener.open(url, data, timeout)

File 'C:Python34liburllibrequest.py', line 469, in open

response = meth(req, response)

File 'C:Python34liburllibrequest.py', line 579, in http_response

’http’, request, response, code, msg, hdrs)

File 'C:Python34liburllibrequest.py', line 507, in error

return self._call_chain(*args)

File 'C:Python34liburllibrequest.py', line 441, in _call_chain

result = func(*args)

File 'C:Python34liburllibrequest.py', line 587, in http_error_default

raise HTTPError(req.full_url, code, msg, hdrs, fp)

urllib.error.HTTPError: HTTP Error 401: UNAUTHORIZED

问题解答

回答1:

#Bearer后面少了一个空格headers = {’Authorization’:’Bearer ’+access_token}回答2:

问题已解决,谢谢各位关注:import requestsimport json instruments = ’EUR_USD’account_id = ’cawa11’access_token = ’a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380’params = {’instruments’:instruments,’accountId’:account_id} headers = {’Authorization’:’Bearer ’+access_token}r = requests.get('https://api-fxpractice.oanda.com/v1/prices',headers = headers, params=params) price = r.json()print(price’prices’[’instrument’].replace(’_’,’/’),’:’,round((price’prices’[’ask’]+price’prices’[’bid’])/2,4))输出:EUR/USD : 1.0905

标签: Python 编程
相关文章: