2014-01-19 6 views
0

이 웹 사이트의 정보에 Python을 사용하여 액세스하고자합니다. 그러나 나는 그것이 작동하지 않는 이유는 사람이 설명 할 수 Python 게시 사용자 이름 및 암호

https://www.linksyssmartwifi.com/

을 urllib2를 사용하여 정보 내 로그를 작성하는 방법을 알아낼 수 없습니다?

편집 -이 질문은 너무 광범위하게 나열되었습니다. 나는 더 구체적 일 것이다.

다음 코드를 사용하려고하면 사용자 이름과 암호를 웹 페이지에 '게시'할 수 없습니다. 데이터가 포함 된 URL에 어떤 문자열이없는 및/또는 게시물 수 있도록이 페이지에는 API가 없기 때문에 나는이 가정하고

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') 

이다. 나는 그것이 작동하지 않는 이유를 이해하지 못한다. 실제로 어떤 오류 코드도 없다. urlopen 이후에받은 콘텐츠를 인쇄 할 경우 페이지의 HTML 코드가 표시되지만 로그인하지 않아도됩니다.

여기 내 이해가 잘못되었을 수 있습니다.

실제로 원격 연결을 사용하여 얼마나 많은 사람들이 내 홈 네트워크에 로그인했는지에 대한 정보를 찾고 싶습니다. 나는 이것이 유일한 방법이라고 생각하고있다. 내 로컬 네트워크에 누가 로그인했는지에 따라 어떤 것을 자동화하고 싶습니다. 로그인 한 후에이 페이지에서 정보를 볼 수 있습니다.

필자는이 작업을 위해 Python 또는 Bash 스크립팅을 사용하는 것이 좋습니다.

+1

코드 및 오류는 표시 할 수 있습니까? –

+3

파이썬 [요청] (https://pypi.python.org/pypi/requests) 라이브러리를 조사하는 것이 좋습니다.이 라이브러리는'urllib2'보다 훨씬 쉽게 작업 할 수 있습니다. – larsks

답변

1

이 사이트는 기본 http 인증을 사용하지 않으므로 사용자가 만든 HTTPBasicAuthHandler가 호출되지 않습니다. 이 사이트는 SSLv3을 사용하여 사용자 이름과 암호를 게시합니다. 나는 fiddler으로 체크 아웃했다.

또한 ssl 핸들러를 만들어야 할 수도 있습니다. https로 urllib에 문제가있어서 아래의 핸들러를 사용해야했습니다.

import urllib2, ssl 
sslv3_handler = urllib2.HTTPSHandler(context=ssl.SSLContext(ssl.PROTOCOL_SSLv3)) 
opener = urllib2.build_opener(sslv3_handler) 
관련 문제