Ich versuche eine Http Post Anfrage zu versenden mit hilfe von requests, um die Seite dann mit Beautiful Soup weiter zu verarbeiten, aber wenn ich versuche mich mit dem generierten CSRF-Token einzuloggen, werde ich entweder weitergeleitet oder erhalte einen 405 Error. Versende Ich die Header falsch oder habe ich etwas übersehen? Über hilfreiche Antwort würde ich mich sehr freuen.
Code: Alles auswählen
import requests
from bs4 import BeautifulSoup
# need to capture a valid csrf token
# first visit the login page to generate one
s = requests.session()
response = s.get('https://www.klickaud.com/')
# extract the token
soup = BeautifulSoup(response.text)
for n in soup('input'):
if n['name'] == 'testdummy':
token = n['value']
break
tokencsrf ='testdummy =' + token
# now post to that login page with some valid credentials and the token
auth = {
'value': 'https://soundcloud.com/bxxmbastic/fygb-flip'
,'testdummy': token
}
headers = {
'cookie': '__cfduid=d6cd11b0c476cdcd9364e010aebc3e1b01555296698; PHPSESSID=2eh4q7fndr2srru232bbeqc036'
'origin: https://www.klickaud.com'
,'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
}
s.post('https://www.klickaud.com/download.php',headers=headers,data=auth)
#now we should be authenticated, try visiting a protected page
response = s.post('https://www.klickaud.com/download.php', headers=headers, data=auth)
print(response.text)
Ich bin mir nicht sicher ob ich das mit den Cookies richtig mache, ich bin noch ein Beginner. Über jede Hilfe würde ich mich freuen.
Danke