HTTP Post Anrage mit Header und Form Data

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Hunt3r
User
Beiträge: 1
Registriert: Montag 15. April 2019, 13:24

Montag 15. April 2019, 13:30

Guten Tag,

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 :?:
Sirius3
User
Beiträge: 9529
Registriert: Sonntag 21. Oktober 2012, 17:20

Montag 15. April 2019, 15:30

Du kannst nicht mit einem festen Cookie arbeiten. Den mußt Du schon aus der ersten Anfrage heraus nehmen, also gar nicht erst selbst versuchen zu setzen.
Antworten