Python Mechanize: истек срок действия сеанса

#python #mechanize #mechanize-python

#python #механизировать #механизировать-python

Вопрос:

Пытаясь mechanize удалить некоторый контент с сайта https asp, похоже, что отправка страницы входа в систему работает, поскольку я получаю возвращенный 200. Но когда я пытаюсь открыть URL-адрес, предположительно используя cookie, полученный после входа в систему, я перенаправляюсь обратно на страницу входа с ошибкой, что срок действия моего сеанса истек. Последняя печать предназначена только для того, чтобы я мог видеть, что меня перенаправляют.

 import mechanize 

USER_AGENT = "Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv:1.8.1.9) Gecko/20071102 Pardus/2007 Firefox/2.0.0.9"

mech = mechanize.Browser()
mech.addheaders = [("User-agent", USER_AGENT)]

mech.open("https://www.example.com/login.asp")

mech.select_form("loginform")
mech['id'] = "blah"
mech['pin'] = "blah"
response = mech.submit()

trueContent = mech.open("https://www.example.com/content")

print trueContent.geturl()
  

Ответ №1:

Ваш код выглядит хорошо для меня, однако я не вижу никаких проверок того, что вход в систему прошел успешно

 response = mech.submit()
  

Посмотрите на содержимое ответа, чтобы убедиться, что ваш вход в систему прошел успешно.

Вы уверены, что этот сайт работает без javascript? Может быть скрытое поле, заданное javascript.

Комментарии:

1. Проблема заключалась в скрытом поле с помощью javascript.

2. В этом случае попробуйте Selenium Webdriver, у него есть Python API.