requests package: login auf webseite funktioniert nicht

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
djnforce
User
Beiträge: 14
Registriert: Donnerstag 4. Juni 2015, 08:44

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
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.
djnforce
User
Beiträge: 14
Registriert: Donnerstag 4. Juni 2015, 08:44

: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
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

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.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
djnforce
User
Beiträge: 14
Registriert: Donnerstag 4. Juni 2015, 08:44

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
Antworten