Python Mechanize Отправить форму Плохой запрос 6/7 раз - PullRequest
0 голосов
/ 08 сентября 2018

когда я запускаю сценарий регистрации, он работает только один из приблизительно 7 попыток.

Мой код:

import mechanize
import sys
import time

x = 20
y = 30

br = mechanize.Browser()

url = "my url"
br.addheaders = [('User-agent', 'Firefox/5.0')]
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

response = br.open(url)
# Modify response here
br.set_response(response)

while x < y:
    print "Setze Variablen..."
    user = "Username{}".format(x)
    password = "mypassword"
    email = "{}@mydomain.de".format(user)
    print "Oeffne URL..."
    time.sleep(2)
    br.open(url)
    time.sleep(5)
    print "Fertig!"
    print "Fuelle Formular aus"
    for form in br.forms():
     assert br.viewing_html()
     br.form = form
     form.set_all_readonly(False)
     br.form["ts_username"] = user
     time.sleep(0.2)
     br.form["ts_email"] = email
     time.sleep(0.2)
     br.form["ts_password"] = password
     time.sleep(0.2)
     br.form["tos"] = ["1",]
     time.sleep(0.2)
     print "Formular fertig ausgefuellt!"
     print ("--------------------")
     time.sleep(3)
     br.submit()
     print ("Acccount {} erfolgreich erstellt!".format(user))
     print user,password,email
     x += 1
     time.sleep(1)
     br.back()   # go back

А вот мое сообщение об ошибке:

Traceback (most recent call last):
  File ""PATH TO FILE"/creator.py", line 49, in <module>
    br.submit()
  File "build/bdist.macosx-10.13-intel/egg/mechanize/_mechanize.py", line 541, in submit
  File "build/bdist.macosx-10.13-intel/egg/mechanize/_mechanize.py", line 203, in open
  File "build/bdist.macosx-10.13-intel/egg/mechanize/_mechanize.py", line 255, in _mech_open
mechanize._response.httperror_seek_wrapper: HTTP Error 400: Bad Request

Я искал решение более 10 часов. Извините, но я очень плохо знаком с python и никогда раньше не использовал механизацию. Я надеюсь, что один из вас сможет мне помочь.

...