Python-requests-Bibliothek HTTPBasicAuth mit drei Parametern
Ich versuche, Instapaper ist einfach Entwickler-api zum hinzufügen einer url zu den Lesezeichen mithilfe von python und der Bibliothek Anfragen. Zur Authentifizierung der Benutzername und das Kennwort funktioniert alles gut.
import requests
from requests.auth import HTTPBasicAuth
requests.get('https://www.instapaper.com/api/authenticate', auth=HTTPBasicAuth('username', 'password'))
Aber wenn Sie versuchen, die api zu verwenden, um ein Lesezeichen hinzuzufügen:
requests.get('https://www.instapaper.com/api/add', auth=HTTPBasicAuth('username', 'password','websiteUrl'))
Bekomme ich Fehler:
File "instantbookmark.py", line 3, in <module>
getA = requests.get('https://www.instapaper.com/api/add', auth=HTTPBasicAuth('username', 'password','websiteUrl'))
TypeError: __init__() takes exactly 3 arguments (4 given)
Ich denke, das ist, weil HTTPBasicAuth können nicht nehmen Sie ein drittes argument, kennt jemand eine Möglichkeit, dies zu tun?
- Mit der vollen traceback-error
- Ja, ich habe die Quelle der Anforderungen und die Dokumentation der API, siehe meine Antwort unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTTPBasicAuth()
nur immer nimmt Benutzername und Kennwort Argumente. Es gibt keine 3rd argument, full-stop.HTTP-Basic-Authentifizierung fügt eine zusätzliche Kopfzeile auf Anfrage; diese Informationen werden getrennt von der GET-oder POST-Parameter. Wenn Sie diese form der Authentifizierung, die Sie nicht brauchen, um eine
username
undpassword
Parameter an die API-Methoden entweder.Ein Lesezeichen hinzufügen, pass in die
url
parameter als POST-oder GET-Daten parameter:Entweder
requests.get()
oderrequests.post()
tun.