簡體   English   中英

使用Python請求模塊登錄Robinhood

[英]Log into Robinhood using Python Requests Module

我正在嘗試使用以下方法登錄Robinhood API:

import requests

def login():
   u = "myusername"
   p = "mypassword"
   url = "https://api.robinhood.com/api-token-auth/"   
   r = requests.get(url, username=u, password=p)
   #r = requests.get(url)
   return r.text

print login()

我有一種方法可以在Curl中做到:

'curl -v https://api.robinhood.com/api-token-auth/ -H "Accept: application/json" -d "username='+username+'&password='+password+'"'  

使用Python請求時,出現以下錯誤:

Traceback (most recent call last):
  File "rhood.py", line 12, in <module>
    print login()
  File "rhood.py", line 8, in login
    r = requests.get(url, username=u, password=p)
  File "C:\Python27\Lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Python27\Lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
TypeError: request() got an unexpected keyword argument 'username'

您需要創建一個字典,其中包含要與請求一起發送的參數(請參見下面的代碼中的data )。 然后使用json參數將字典包含在您的請求中。

還要注意, Robinhood API文檔似乎建議需要POST請求,而不是GET請求。 因此,以下代碼使用requests.post(...)

import requests

def login():
   u = "myusername"
   p = "mypassword"
   url = "https://api.robinhood.com/api-token-auth/"   
   data = {"username": u, "password": p}
   r = requests.post(url, json=data)
   return r.text

print login()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM