POST-Request mit Python 'requests' - Modul nicht richtig funktioniert
POST https://maxcvservices.dnb.com/rest/Authentication
x-dnb-user: MyUsername
x-dnb-pwd: MyPassword
ist die Dokumentation des D&B-API und damit bin ich versucht zu senden eine POST-Anforderung mit python-requests-Modul mithilfe der folgenden Codezeile:
r = requests.post('https://maxcvservices.dnb.com/rest/Authentication',params={'x-dnb-user':userid,'x-dnb-pwd':pass})
die Antwort, die ich erhalte ist Response [500]
werden und der Inhalt der Antwort ist : error processing request\r\n
Meine Frage ist ob ich etwas falsch beim übergeben der post-Anforderung, und der Parameter oder ist es ein problem mit meinen Benutzernamen und mein Passwort als ungültig?
Ich das Gefühl das problem liegt in der Art und Weise, die ich bin übergeben die POST-Anforderung, da die API antwortet mit einem separaten Fehler 401 für eine falsche Benutzer-id, pass.
{'connection': 'Keep-Alive',
'content-encoding': 'gzip',
'content-length': '46',
'content-type': 'text/plain',
'date': 'Sat, 26 Oct 2013 17:43:22 GMT',
'server': '',
'vary': 'Accept-Encoding',
'x-correlationid': 'Id-d4c07ad3526bff3a03fb742e 0'}
meine Antwort-header, wenn ich Sie benutze:
r = requests.post('https://maxcvservices.dnb.com/rest/Authentication', headers={'x-dnb-user': 'userid', 'x-dnb-pwd': 'password'})
Eine zufällige Benutzer-id und ein Passwort.
Aber gemäß der API-ich bin soll erhalten <Response [401]>
.
Ich erhalte <Response [500]>
statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese sind HTTP-Header; Angabe der API-Dokumentation:
Fügen Sie Sie als solche:
Dies funktioniert für mich, auch wenn ich eine 401-Antwort (da ich don ' T haben keine gültigen Zugangsdaten):
vollständig dokumentiert.
requests
hast du installiert?requests.__version__
für mich ist 2.0.'userid'
und'password'
string-literalen?token = response.headers['authorization']
, dann verwenden Sie das token auf Anfragen als header wieder:headers={'authorization': token}
.