2017-12-19 3 views
0

Ich versuche, auf die folgende Webadresse zu loggen: http://healthifyme.com/login/ mit Anfragen. Ich beabsichtige, Daten von http://healthifyme.com/dashboard nach dem Login zu verschrotten. ich folgenden Code verwenden registrierten Zugangsdaten zum Login verwenden, aber Login ist nicht erfolgreich:WebLogin nicht erfolgreich mit Anfragen in Python

import requests, lxml.html 
from lxml import html 
url = 'http://healthifyme.com/login/' 
s = requests.Session() 
payload = { 
     'email': '[email protected]', 
     'password': 'mypassword' 
      } 
r = s.post(url, data=payload) 

Was kann ich das hindert den Anmeldeversuch fehlt?

+1

Für den Anfang, Sie versuchen, Daten auf eine Seite zu schreiben, die die Form nur Druckerei - die tatsächliche Anmeldung durch das Senden JSON an den 'http durchgeführt wird: // healthifyme.com/api/v1/account/login/'Endpunkt. Sie sollten überprüfen, was beim Absenden des Formulars passiert, wenn Sie die Anmeldung nachahmen möchten. – zwer

+1

Um dies genauer auszuführen, sollten Sie auf die Browser-Tools für Entwickler (F12 in Firefox) zugreifen und während der Anmeldung die Registerkarte Netzwerk überprüfen, um die tatsächlichen Anforderungen Ihres Browsers zu sehen. Notieren Sie sich die URL und die Parameter für die Anmeldung um das nachzuahmen. –

+0

Mit dem obigen Link kann ich immer noch nicht auf die Website zugreifen. Ich bin gerade auf die Hauptseite zurückgekehrt. – Lisan

Antwort

0

Nach 1 Login-Versuch auf der verknüpften Website, habe ich festgestellt, dass der Benutzername und das Passwort in einem JSON-Objekt anstelle einer formalen Codierung wie im OP gepostet werden. Zum Glück ist das mit requests übermäßig einfach. Sie sollten einfach die json param zu .post() verwenden:

r = s.post(url, json=payload)