Seite 1 von 1

Requests fehlende FormData Information

Verfasst: Donnerstag 11. Juli 2019, 20:11
von 2fersen
Hey Leute,
ich wollte mal probieren, mich mithilfe der Requests Library in eBay Kleinanzeigen einzuloggen, doch wenn ich mir die Formdata anschaue welche gesendet wird, habe ich ein Problem.

targetUrl
loginMail
password
_csrf
sind klar.

Doch was ist mit dem Fingerprint? Den CRSF Token kann ich einfach herausfischen von der vorherigen Seite, doch von dem Fingerprint finde ich überhaupt nichts im Quellcode. Wie komme ich an diesen?

Freue mich auf eure Antworten! :)

Re: Requests fehlende FormData Information

Verfasst: Donnerstag 11. Juli 2019, 22:27
von Sirius3
Im Grunde ist es egal, welchen 128bittige Hexwert der Fingerprint hat. Er dient dazu, Deinen Browser zu identifizieren.

Re: Requests fehlende FormData Information

Verfasst: Donnerstag 11. Juli 2019, 22:57
von 2fersen
Oh achso, dann habe ich jetzt einfach mal meinen Fingerprint von meinem regulären Browser genommen, aber trotzdem kommt immer noch ein 403 Error.

Hier ist der Code mit dem ich arbeite.

Code: Alles auswählen

import requests
from bs4 import BeautifulSoup

session = requests.Session()

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
headers = {'user-agent': user_agent}

with requests.Session() as c:
    url = 'https://www.ebay-kleinanzeigen.de/m-einloggen.html'
    c.headers = headers
    hp = c.get(url, headers=headers)

    soup = BeautifulSoup(hp.content, 'html.parser')
    temp = soup.find('input', {'name': '_csrf'})
    crsf = temp['value']
    fingerprint = 'c6e90fbf4ab48a8677469246c1236fbd'

    payload = dict(targetUrl='/', loginMail='email@email.de', password='pass', _crsf=crsf,
                   fingerprint=fingerprint)
    page = c.post(url, data=payload, headers=headers)
    print(page.text)
    print(page.status_code)