Мой скрипт входа в Python не работает - PullRequest
0 голосов
/ 07 апреля 2010

Давным-давно я написал небольшой скрипт на python для автоматического входа в беспроводную сеть в моем офисе.

Вот код:

#!/opt/local/bin/python
from urllib2 import urlopen
from ClientForm import ParseResponse

try:
if "Logged on as" in urlopen("https://MYWIRELESS.com/logon").read():
    print "Already logged on."
else:
    forms = ParseResponse(urlopen("https://MYWIRELESS.com/logon"), backwards_compat=False)
    form = forms[0]
    form["username"], form["password"] = "ME", "MYPASSWD"
    urlopen(form.click())
    print "Logged on. (probably :-)";
except IOError, e: print "Couldn't connect to wireless login page:\n", e

Я недавно сменил компьютеры, и они перестали работать. Теперь я получаю сообщение об ошибке:

File "login.txt", line 4, in <module>
    from ClientForm import ParseResponse
ImportError: No module named ClientForm

, что выглядит так, как будто у меня не установлен какой-либо пакет (ClientForm), поэтому я установил его (sudo port install py-clientform), но все равно получаю ту же ошибку. У кого-нибудь есть идеи, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Также убедитесь, что установленный вами пакет находится в пути Python:

>>> import sys
>>> sys.path
0 голосов
/ 23 мая 2012

Это работало для чего-то похожего:

(Удалось заставить сайт отправлять данные с помощью wireshark. Также «user» может быть чем-то другим, например «username», то же самое с «password». Еще раз Wireshark поможетс этим. Также можно посмотреть на источник страницы входа. Удачи !!!)

from urllib import urlencode
from urllib2 import Request, urlopen

req = Request('www.site.com',urlencode({'user':'userhere', 'password':'passwordhere'}))
open = urlopen(req)
...