2017-02-13 10 views
0

Anfragen Bibliothek "http://docs.python-requests.org/en/master/" Wenn dieser Code ausgeführt wird, soll er sich auf der als URL angegebenen Seite anmelden, ich denke, ich habe diesen Teil erfolgreich, aber habe wirklich keine Ahnung. Ich denke, was passiert ist, weil ich nicht richtig sagen, die Website zu halten den Python-Browser eingeloggt ist sofort wieder abmelden, nachdem dies passiert und wenn ich frage, um den Webseiten-Code zu drucken, wird es erneut auf die Anmeldeseite umgeleitet und anschließend gedruckt das eher als der Index, der ist, was ich gedruckt werden möchte.Python 3.6 Hilfe Anfragen modual

Kurz ID wie jemand meinen Code zu reparieren oder neu zu schreiben, so dass es sich anmeldet und die Indexseite herunterlädt und wenn Sie so freundlich sind, sagen Sie mir, warum mein Code nicht funktioniert und erklären Sie zumindest ein wenig Ihren Code.

import requests 

url = 'http://www.abcol.ac.uk/studentnet/timetables/login.cfm' 
payload = { 
    'usernameinput': 'ausername', 
    'passwordinput': 'apassword', 
} 

umeme = requests.session() 
r = requests.post(url, data=payload, headers={"Connection": "keep-alive"}) 
print (r.cookies) 
page = umeme.get('http://www.abcol.ac.uk/studentnet/timetables/index.cfm') 
print(page.content) 

Die Seitenüberschriften sind wie folgt https://gyazo.com/7b402bf0142871cb03b379ae450792bf Dont mich für weitere Informationen zögern zu fragen, ob Sie es Vielen Dank im Voraus für jede Hilfe brauchen.

+0

Was ist der 'status_code' der ersten Anfrage? Versuchen Sie, Cookies von der ersten Anfrage in der zweiten Anfrage als 'umeme.get (' http://www.abcol.ac.uk/studentnet/timetables/index.cfm ', cookies = r.cookies.get_dict())' hinzuzufügen – Andersson

Antwort

0

Ihre Nutzdaten sind falsch. Die Form unterbreitet den Endpunkt mit der Nutzlast "form_submitted = true & username = & Passwort ="

Ihre Nutzlast dieser nachahmen soll, etwa so:

payload = { 
    'username': 'ausername', 
    'password': 'apassword', 
    'form_submitted': 'true' 
}