2017-05-29 1 views
0

So habe ich diesen Code:Senden eine Login-Anfrage in Python

import requests 

loginData = { 
    'sisername': 'cool username', 
    'sipassword': 'cool password' 
} 

with requests.session() as s: 
    s.post('http://www.ixl.com/signin', data=loginData) 
    response = s.get('http://www.ixl.com') 
    print(response.text) 

Ich versuche, eine Anmeldung am IXL-Server zu senden, und anschließend die Anmeldeinformationen zu halten, so dass ich Probleme beantworten kann, das ist für eine andere Zeit. Ich muss noch wissen, wie man die Login-Informationen sendet. Jede Hilfe wäre willkommen. Vielen Dank!

Antwort

0

Sie senden auf der falschen Seite und mit falschen Parametern. Wenn Sie das Formular überprüfen auf dieser Seite sehen Sie, dass die tatsächliche Unterwerfung unter https://eu.ixl.com/signin/ajax/page geht, so versuchen Sie mit:

loginData = { 
    'username': 'cool username', 
    'password': 'cool password', 
} 

with requests.session() as s: 
    res = s.post('https://eu.ixl.com/signin/ajax/page', data=loginData) 
    print(res.text) 

Nun, was Sie tun wollen, nachdem Sie sich in eine ganz andere Geschichte. Sie müssen wahrscheinlich res.text analysieren, um zu sehen, was Sie zurückbekommen haben. Soweit ich sehen kann, antwortet er in einem JSON-Format, so dass Sie leicht die Antwort überprüfen:

loginData = { 
    'username': 'cool username', 
    'password': 'cool password', 
} 

with requests.session() as s: 
    res = s.post('https://eu.ixl.com/signin/ajax/page', data=loginData) 
    data = res.json() 
    if data.get("signinPageError", "false") == "true": 
     print("Login failed: {}".format(data.get("errorMessage", "Unknown error"))) 
    else: 
     print("Login successful? I don't know, I don't have valid credentials to check...") 

Was Sie von dort tun, ist bis zu Ihnen ...

+0

Danke, ich Ich werde das versuchen, wenn ich nach Hause komme. –

+0

Ich habe das versucht, und es schien nicht zu funktionieren. Jedes Mal, wenn ich denselben Fehler erhalte. Wenn Sie daran interessiert sind, mir weiter zu helfen, kontaktieren Sie bitte [email protected] Vielen Dank :) –

+0

Erkennen, wenn Login fehlgeschlagen wird definitiv funktionieren, was passiert, wenn Sie es gültige Anmeldeinformationen zur Verfügung stellen, ist auf Sie, um herauszufinden. Soweit wir bei SO Ihnen helfen können, bin ich nicht daran interessiert, private unbezahlte (oder bezahlte) Arbeit zu leisten. – zwer