urllib2 проблема перенаправления JavaScript - PullRequest
0 голосов
/ 09 августа 2011
import urllib2,urllib

data = urllib.urlencode({"username" : "usr", "password" : "pass", "lang" : "eng", "usertype" : "cashier", "submit" : "Enter"})
req = urllib2.Request("https://website/index.php", data)
opener = urllib2.build_opener()
response = opener.open(req)
the_page = response.read()
print the_page

ВЫВОД:

<script type="text/javascript">window.location.href = "/h383/list.php";</script>

Итак, я хочу обратиться к list.php с любыми предложениями?

1 Ответ

2 голосов
/ 09 августа 2011

Во-первых, попробуйте дать строгую лекцию веб-мастеру о постепенной деградации и веб-стандартах.

Если это не удастся, в конечном итоге у вас есть два варианта:

  1. Извлечь местоположение перенаправленияиспользуя регулярное выражение.(Pro: это просто. Минусы: это не будет работать, если URL перенаправления построен с использованием JavaScript, в отличие от отображения в виде строкового литерала. Кроме того, незначительные изменения в сценарии - даже добавление пробела -могут испортить ваше выражение.)
  2. Запустите сценарий в среде выполнения JavaScript, предоставив объекты window и window.location и поймав присвоение его свойству href.(Плюсы: Это позволит работать URL-адресам, созданным в JS, и вполне пригодно для будущего. Минусы: Вероятно, это чрезмерная разработка и не будет простой задачей.)
...