2014-01-19 5 views
0

Я хочу получить доступ к информации с этого сайта с помощью Python. Но я не могу понять, как разместить свою регистрационную информацию, используя urllib2Python указать имя пользователя и пароль

https://www.linksyssmartwifi.com/

Может кто-нибудь объяснить, почему он не работает?

Редактировать - Этот вопрос был указан как слишком широкий. Я буду более конкретным.

Когда я пытаюсь использовать следующий код, я не могу «отправить» имя пользователя и пароль на веб-страницу.

import urllib2 
auth_handler = urllib2.HTTPBasicAuthHandler() 
auth_handler.add_password(realm=' ??? ', 
         uri=' ??? ', 
         user='USERNAME', 
         passwd='PASSWORD') 
opener = urllib2.build_opener(auth_handler) 
urllib2.install_opener(opener) 
urllib2.urlopen('EXAMPLELINK') 

Я предполагаю, что это происходит потому, что нет строки в URL, содержащий данные и/или нет апи на этой странице, что позволяет сообщений. Я не понимаю, ПОЧЕМУ он не работает, на самом деле у меня нет кода ошибки. Если я распечатаю содержимое, полученное после urlopen, я получаю html-код страницы, но без его входа в систему.

Но мое понимание здесь может быть неправильным.

Я действительно хотел бы узнать информацию о том, сколько человек вошли в мою домашнюю сеть, используя удаленное соединение. Я предполагаю, что это единственный способ. Я хотел бы автоматизировать некоторые вещи на основе того, кто зарегистрировался в моей локальной сети, информация доступна на этой странице после моего входа.

Я бы предпочел использовать скрипты Python или Bash для этого.

+1

Вы можете показать нам свой код и ошибку? –

+3

Я также предложил бы изучить библиотеку Python [запросы] (https://pypi.python.org/pypi/requests), с которой работать гораздо проще, чем 'urllib2'. – larsks

ответ

1

Этот сайт не использует базовую HTTP-аутентификацию, поэтому HTTPBasicAuthHandler, который вы создали, даже не будет вызван. Сайт просто записывает имя пользователя и пароль с помощью SSLv3. Я проверил его с fiddler.

Кроме того, вам может потребоваться создать обработчик ssl. У меня были проблемы с urllib с https и мне пришлось использовать обработчик ниже.

import urllib2, ssl 
sslv3_handler = urllib2.HTTPSHandler(context=ssl.SSLContext(ssl.PROTOCOL_SSLv3)) 
opener = urllib2.build_opener(sslv3_handler) 
Смежные вопросы