2016-08-03 20 views
0

我想为我的一个网站建立一个简单的自动签名者。如何使用python 3注册一个网站?

我试着用这样的:

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) 

但没有happends。评论没有被创建。

这是注释形式的HTML部分:

<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

这是为了教育目的,对吧? –

+0

明确如此。 – Sperly1987

+0

请帮帮我!我尝试了一切! urllib,硒,请求,套接字...你能告诉我的方式 – Sperly1987

回答

0

@ nander-speerstra感谢您的链接,但真正的问题是HTTP请求。我一直sended:

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

但HTTP POST请求的分析后,我意识到有这些选项:

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/ 

所以最终的脚本是:

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) 
相关问题