2016-08-09 15 views
0

Ich brauche mich in einer Website mit Anfragen zu protokollieren, aber alles, was ich versuche, nicht funktionieren:Anmeldung mit Python-Modul fordert

from bs4 import BeautifulSoup as bs 
import requests 
s = requests.session() 
url = 'https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5' 


def authenticate(): 
    headers = {'username': 'myuser', 'password': 'mypasss', '_Id': 'submit'} 
    page = s.get(url) 
    soup = bs(page.content) 
    value = soup.form.find_all('input')[2]['value'] 
    headers.update({'value_name':value}) 
    auth = s.post(url, params=headers, cookies=page.cookies) 

authenticate() 

oder:

import requests 

payload = { 
    'inUserName': 'user', 
    'inUserPass': 'pass' 
} 

with requests.Session() as s: 
    p = s.post('https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5', data=payload) 
    print(p.text) 
    print(p.status_code) 
    r = s.get('A protected web page url') 
    print(r.text) 

Wenn ich versuche, dies mit die .status_code, es gibt 200 zurück, aber ich will 401 oder 403 für ein Skript wie 'Wenn Login' ...

Jemand weiß, wie zu tun?

+0

200 ist Erfolg und 400 Client-Fehler –

+0

Ich weiß, aber es kann nicht 200 mit dieser Login-Info: 'user' und 'pass'? – mson

+0

Ja, die Seite kann immer noch 200 zurückgeben, auch wenn ungültige Anmeldedaten vorhanden sind. Überprüfen Sie die Anfragen in Ihrem Browser mit einem HTTP-Header-Inspektor. –

Antwort

0

Sie können dies einfach versuchen.

Ihre Login-URL ist nicht korrekt, Sie können die Netzwerkanforderungen in den Browser-Entwickler-Tools überprüfen.

import requests 

payload = { 
    'username': 'user', 
    'password': 'pass' 
} 

with requests.Session() as s: 
    p = s.post('https://www.ent-place.fr/CookieAuth.dll?Logon', data=payload) 
    print(p.text) 
    print(p.status_code) 
+0

Ihre URL ist falsch? – mson

+0

Die URL in Ihrer Frage öffnen Sie einfach die Login-Webseite, lassen Sie Benutzername und Passwort eingeben und klicken Sie auf Login-Button, dann Benutzername und Passwort an die Login-URL übergeben werden. Sie können dies in den Browser-Entwickler-Tools überprüfen. – icejoywoo

+0

Zeigen Sie die HTML-Quelle der Seite an, und suchen Sie nach dem Formular. –

0

Dies sind die Parameter, die Sie liefern sollten.

curl:Z2F 
flags:0 
forcedownlevel:0 
formdir:5 
username:yourusername 
password:yourpassword 
SubmitCreds.x:57 
SubmitCreds.y:23 
SubmitCreds:Ouvrir une session 
+0

Diese Parameter sind nur für diese Website oder sind universell? – mson

+0

Nur für diese Website hängt es davon ab, wie die Besitzer es gestaltet haben. –

+0

Ok danke und wie hast du das gefunden? – mson