2016-08-03 67 views
0

Ich möchte einen einfachen automatisierten Unterzeichner für eine Website von mir bauen.Wie melde ich mich mit python 3 auf einer Website an?

ich mit dieser versucht:

import requests 

url = "http://pountex.altervista.org/registrati/" 

payload = { "user": "a", 
     "email": "[email protected]", 
     "passw1": "a", 
     "passw2": "a" } 

r = requests.post(url, data=payload) 

print (r.text) 

Aber nichts happends. Der Kommentar wird nicht erstellt.

Dies ist der HTML-Teil der Kommentare Form:

<input class="text-input default_field_username" name="username" maxlength="70" id="username" value="" type="text"> 
<input class="text-input default_field_email" name="email" maxlength="70" id="email" value="" type="email"> 
<input class="text-input" name="passw1" maxlength="70" id="passw1" value="" autocomplete="off" type="password"> 
<input class="text-input" name="passw2" maxlength="70" id="passw2" value="" autocomplete="off" type="password"> 
<input name="register" id="register" class="submit button" value="Registrati " type="submit"> 
+1

Diese ist für Bildungszwecke, oder? –

+0

definitiv so. – Sperly1987

+0

bitte hilf mir! Ich habe alles versucht! Urllib, Selen, Anfragen, Sockets ... können Sie mir den Weg zeigen – Sperly1987

Antwort

0

@ nander-Speerstra Dank für Ihre Links, aber die wirklichen Probleme war die HTTP-Anfrage. Ich habe immer sended:

payload = { "user": "a", 
      "email": "[email protected]", 
      "passw1": "a", 
      "passw2": "a" } 

Aber nach einer Analyse der HTTP-POST-Anfrage, erkannte ich, die dort diese Optionen waren:

Content-Disposition: form-data; name="username" 

a 
Content-Disposition: form-data; name="email" 

[email protected] 
Content-Disposition: form-data; name="passw1" 

a 
Content-Disposition: form-data; name="passw2" 

a 
Content-Disposition: form-data; name="register" 

Registrati 
Content-Disposition: form-data; name="action" 

register 
Content-Disposition: form-data; name="form_name" 

unspecified 
Content-Disposition: form-data; name="register_nonce_field" 

5d5162e9e1 
Content-Disposition: form-data; name="_wp_http_referer" 

/registrati/ 

Also das endgültige Skript ist:

import requests 

url = "http://pountex.altervista.org/registrati/" 

payload = { "username":"a", 
      "email":"[email protected]", 
      "passw1":"a", 
      "passw2":"a", 
      "register":"Registrati ", 
      "action":"register", 
      "form_name":"unspecified", 
      "register_nonce_field":"59cf20fe78", 
      "_wp_http_referer":"/registrati/?doing_wp_cron=1470266089.5451300144195556640625" 
      } 

r = requests.post(url, params=payload)