Login auf website mit python-requests

Ich versuche auf login zu https://www.voxbeam.com/login mit Anfragen zu kratzen-Daten. Ich bin python-Anfänger und ich habe getan, meist tutorials, und einige web-Schaben auf meinem eigenen mit BeautifulSoup.

Blick auf die HTML:

<form id="loginForm" action="https://www.voxbeam.com//login" method="post" autocomplete="off">

<input name="userName" id="userName" class="text auto_focus" placeholder="Username" autocomplete="off" type="text">

<input name="password" id="password" class="password" placeholder="Password" autocomplete="off" type="password">

<input id="challenge" name="challenge" value="78ed64f09c5bcf53ead08d967482bfac" type="hidden">

<input id="hash" name="hash" type="hidden">

Ich verstehen, ich sollte mit der Methode post, und senden Benutzername und Passwort

Ich versuche dieses:

import requests
import webbrowser

url = "https://www.voxbeam.com/login"
login = {'userName': 'xxxxxxxxx',
         'password': 'yyyyyyyyy'}

print("Original URL:", url)

r = requests.post(url, data=login)

print("\nNew URL", r.url)
print("Status Code:", r.status_code)
print("History:", r.history)

print("\nRedirection:")
for i in r.history:
    print(i.status_code, i.url)

# Open r in the browser to check if I logged in
new = 2  # open in a new tab, if possible
webbrowser.open(r.url, new=new)

Ich erwarte, nach einer erfolgreichen Anmeldung, bekommen in r die URL zum dashboard, so kann ich beginnen, kratzen die Informationen, die ich brauche.

Wenn ich den code mit der Authentifizierung Informationen in den Ort der xxxxxx und yyyyyy, ich bekomme die folgende Ausgabe:

Original URL: https://www.voxbeam.com/login

New URL https://www.voxbeam.com/login
Status Code: 200
History: []

Redirection:

Process finished with exit code 0

Bekomme ich im browser eine neue Registerkarte mit www.voxbeam.com/login

Gibt es etwas falsch in dem code?
Bin ich etwas fehlt in der HTML?
Es ist ok, zu erwarten, um die dashboard-URL in r, oder werden umgeleitet, und versuchen, öffnen Sie die URL in einem browser-tab zu überprüfen visuell die Antwort, oder ich sollte die Dinge auf eine andere Weise?

Lese ich viele ähnliche Fragen hier für ein paar Tage, aber es scheint, dass jede website-Authentifizierung-Prozess ist ein wenig anders, und ich habe http://docs.python-requests.org/en/latest/user/authentication/, die beschreibt andere Methoden, aber ich habe nicht gefunden, was in die HTML würde vorschlagen, ich sollte mit einer von denen anstelle von post

Habe ich versucht zu

r = requests.get(url, auth=('xxxxxxxx', 'yyyyyyyy')) 

aber es scheint nicht zu funktionieren.

Sollten Sie post alle Formular-Felder ( Benutzername, Passwort, challenge, hash )

InformationsquelleAutor Pablo | 2017-04-07

Schreibe einen Kommentar