Я хочу сделать скрипт на python, используя mechanize для входа в систему под конкретным пользователем. Перейдите на определенную страницу на этом сайте и заполните форму для отправки. Я успешно вошел в систему, зашел на эту страницу, заполнил форму, но при отправке я получаю странную ошибку.
import mechanize
#from mechanize import ParseResponse, urlopen, urljoin
br=mechanize.Browser()
cj=mechanize.CookieJar()
br.set_cookiejar(cj)
br.set_handle_robots(False)
request=mechanize.Request("http://www.reddit.com/")
response=br.open("http://www.reddit.com/")
cj.extract_cookies(response, request)
request2=mechanize.Request("http://www.reddit.com/r/berkeley/about/flair/? name=bezzerkeley")
cj.add_cookie_header(request2)
br.select_form(nr=1)
br["user"]="bezzerkeley"
br["passwd"]="xxxxxxx"
response2=br.submit()
cj.extract_cookies(response2, request2)
response3=br.open("http://www.reddit.com/r/berkeley/about/flair/?name=bezzerkeley")
request3=mechanize.Request("http://www.reddit.com/r/berkeley/about/flair/")
cj.extract_cookies(response3, request3)
cj.add_cookie_header(request3)
br.select_form(nr=8)
br["text"]="BOT TEST COMPLETE"
Я xxxxed для пароля для входа в систему. После запуска этого кода и выполнения br.submit () я получаю сообщение об ошибке HTTP 404: Not Found. Если я физически иду и отправляю эту форму таким образом, браузер перенаправляет меня на ту же страницу с предоставленной информацией.
Дополнительная информация: когда я выполняю вывод br.form после выполнения вышеуказанного кода, я получаю:
(POST http://www.reddit.com/post/flair application/x-www-form-urlencoded
(HiddenControl(name=bezzerkeley) (readonly))
(TextControl(text=BOT TEST COMPLETE))
(TextControl(css_class=))
(SubmitButtonControl((None)=) (readonly)))
Я могу предоставить больше информации, если это необходимо. Кто-нибудь знает, почему я получаю эту ошибку?