Seite 1 von 1

requests package: login auf webseite funktioniert nicht

Verfasst: Dienstag 27. Oktober 2015, 10:33
von djnforce
Hallo liebes Forum,

ich bin sehr unerfahren mit Python und stieß zeimlich früh auf folgendes Problem:
Ich möchte gern einen login durchführen um anschließend den dahinterliegende Webseite auszulesen.

Mein Code dazu sieht folgendermaßen aus:

Code: Alles auswählen

import requests
import urllib3
import certifi
import ssl

from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

http = urllib3.PoolManager(
    cert_reqs='CERT_REQUIRED', # Force certificate check.
    ca_certs=certifi.where(),  # Path to the Certifi bundle.
)


# Fill in your details here to be posted to the login form.
payload = {
    'username': 'user1test',
    'password': 'passwort1test'
}

url = 'www.beispiel.de'
r = requests.post(url, data=payload, verify=False, headers={'Content-Type': 'application/json', 'Accept':'application/json'})


print(r.text)
Der Code läuft durch und erzeugt dann folgende Fehlermeldung:
{"status-code":500,"message":"Unexpected character ('p' (code 112)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: org.apache.catalina.connector.CoyoteInputStream@12fa06b6; line: 1, column: 2]"}

Damit kann ich überhaupt nichts anfangen.

Weiß vielleicht jemand von euch was das Problem ist?

Vielen Dank

Re: requests package: login auf webseite funktioniert nicht

Verfasst: Dienstag 27. Oktober 2015, 10:44
von BlackJack
@djnforce: `payload` müsstest Du noch als JSON serialisieren und das dann als Bytes kodieren wenn Du der Gegenseite JSON versprichst bzw. die das erwartet.

Re: requests package: login auf webseite funktioniert nicht

Verfasst: Dienstag 27. Oktober 2015, 10:50
von djnforce
:shock: :shock: :shock: :shock: :shock:

äääähm, jaaaaaa, vielen Dank für die Antwort.
Aber könntest du mir bitte noch ein wenig mehr zur Realisierung verraten???

Danke,
Steffen

Re: requests package: login auf webseite funktioniert nicht

Verfasst: Dienstag 27. Oktober 2015, 10:57
von Kebap
djnforce hat geschrieben: Der Code läuft durch und erzeugt dann folgende Fehlermeldung:

Damit kann ich überhaupt nichts anfangen.

Weiß vielleicht jemand von euch was das Problem ist?
Meist ist das Problem etwa, dass man sich Codeschnipsel von hier & dort zusammenkopiert, ohne wirklich zu verstehen, was man damit eigentlich tut. Dann kommt es zu unerwarteten Effekten, die man sich nicht erklären kann. Klingt das hier vielleicht vertraut?

Zum Bedienen von Websites empfiehlt sich ggf. das Python Modul mechanize, das einen bedienbaren Webbrowser bereitstellt. Da muss man sich nicht um einzelne Requests kümmern, die schnell unübersichtlich werden können.

Re: requests package: login auf webseite funktioniert nicht

Verfasst: Dienstag 27. Oktober 2015, 10:59
von djnforce
Ja, das klingt hier sehr vertraut.

Ich habe ein Excel Makro, dessen Funktionalität ich gern in Python hätte.

Ich werde es dann mal mit deinem Vorschlag versuchen.
Vielen Dank