python3.x – HTTP-Fehler 401: UNAUTHORIZED erscheint, wenn Python eine Verbindung zur simulierten Handels-API von Oanda herstellt?
漂亮男人
漂亮男人 2017-05-18 10:56:04
0
2
755

用python3连oanda的模拟交易api时现HTTP-Fehler 401: UNAUTHORIZED, unterstützt durch:
import urllib.parse
import urllib.request

url = 'https://api-fxpractice.oanda....'
access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380'
account_id = 'cawa11'
values = d':account_id}
headers = {'Autorisierung': '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 (letzter Anruf zuletzt):
Datei „C:UserslenovoDesktopbb.py“, Zeile 36, in

response = urllib.request.urlopen(req)

Datei „C:Python34liburllibrequest.py“, Zeile 161, im URL-Format

return opener.open(url, data, timeout)

Datei „C:Python34liburllibrequest.py“, Zeile 469, geöffnet

response = meth(req, response)

Datei „C:Python34liburllibrequest.py“, Zeile 579, in http_response

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

Datei „C:Python34liburllibrequest.py“, Zeile 507, fehlerhaft

return self._call_chain(*args)

Datei „C:Python34liburllibrequest.py“, Zeile 441, in _call_chain

result = func(*args)

Datei „C:Python34liburllibrequest.py“, Zeile 587, in http_error_default

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

urllib.error.HTTPError: HTTP-Fehler 401: UNAUTHORIZED

漂亮男人
漂亮男人

Antworte allen (2)
某草草
#Bearer后面少了一个空格 headers = {'Authorization':'Bearer '+access_token}
    Ty80

    问题已解决,谢谢各位关注:
    import requests
    import 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

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!