2013-02-25 7 views
0

나는 웹 사이트에 로그인을 시도하고 자동화 된 정리 작업을하고 있습니다.Python : 웹 사이트에 로그인

내가 로그인 할 필요가있는 사이트는 다음과 같습니다 http://site.com/Account/LogOn

가 나는, 스택에 그것을 발견 Login to website using python 같은 (그러나 필자는이 라인에 붙어 다양한 코드를 시도 내 JetBeans이 같은 나던

session = requests.session(config={'verbose': sys.stderr}) 

'verbose' 내가 뭔가를해야한다고 말하지만, 정확히 무엇을 설명하지는 않습니다.)

나는 또한 이것을 시도했다 : Browser simulation - Python, 그러나 이것 역시 행운이 없다.

아무도 도와 줄 수 있습니까? 모든 대답은 감사 할 것입니다. 미리 감사드립니다.

PS : 나는 ------------------ 파이썬 2 주 전에 너무 :)

undersanding의 내 "프로"수준의 답변을 자세히 설명해 배우기 시작 ------- 업데이트 : -----------------------------

로그인 할 수 있지만 다른 페이지로 이동하여 버튼을 누르려고하면 제발 로그인 해주세요! 내가 로그인 한 후 나는 HTML이 같이 보이는 메뉴 값, swith를 필요에

url = 'http://site.com/Account/LogOn' 
values = {'UserName': 'user', 
      'Password': 'pass'} 

data = urllib.urlencode(values) 
cookies = cookielib.CookieJar() 

opener = urllib2.build_opener(
    urllib2.HTTPRedirectHandler(), 
    urllib2.HTTPHandler(debuglevel=0), 
    urllib2.HTTPSHandler(debuglevel=0), 
    urllib2.HTTPCookieProcessor(cookies)) 

response = opener.open(url, data) 
the_page = response.read() 
http_headers = response.info() 
print response 

:

<select id="menu_uid" name="menu_uid" onchange="swapTool()" style="font-size:8pt;width:120px;"> 
<option value="1" selected>MyProfile</option> 
... 
<option value="6" >DeleteTree</option> 

을하지만 직접하는 경우 그것을 할 수

나는이 코드를 사용 다음과 같은 URL을 형성합니다. http://site.com/Account/management.html?Category=6&deltreeid=6&do=Delete+Tree

URL을 작성하여 제출하려면 어떻게해야합니까? 다시 한 번 감사드립니다!

+1

[? 내가 파이썬 웹 사이트에 로그인 할 수있는 방법을 (http://stackoverflow.com/questions/2910221/how-can -i-login-to-a-python을 사용하는 웹 사이트) – sloth

+0

이미 많은 일이있는 것처럼 보입니다. 당신이 가진 문제는 정확히 무엇입니까? – Iguananaut

답변

1

잘 1 일

그것은 /계정/로그온에 POST 요청을 보냅니다. 필드는 사용자 이름암호입니다.

그럼 당신은 HTTP를 할 파이썬의 HTTPLIB을 사용할 수 있습니다

http://docs.python.org/2/library/httplib.html

의 (a POST 작업을 수행하는 방법에 결국 예를 들어 있습니다) 요청합니다.

그러면 HTTP 헤더 내에 세션 쿠키가 포함 된 응답이 표시됩니다. 변수에 해당 쿠키를 저장하고 인증 될 모든 후속 요청에서 보내야합니다. 자신을 저장

+0

내 게시물을 업데이트했습니다. 어쩌면 당신은 더 도움이 될 수 있습니다!감사합니다. –

+0

추가 도움을 요청할 필요가 없습니다. 감사합니다. –

4

두통의 많이 사용 requests : 관련

url = 'http://site.com/Account/LogOn' 
values = {'UserName': 'user', 
      'Password': 'pass'} 

r = requests.post(url, data=values) 
# Now you have logged in 

params = {'Category': 6, 'deltreeid': 6, 'do': 'Delete Tree'} 
url = 'http://site.com/Account/management.html' 

# sending cookies as well 
result = requests.get(url, data=params, cookies=r.cookies) 
+3

정말 요청이 맘에 들지 않습니다. 몇 줄의 코드를 저장하는 데 추가 의존성이 있습니다. – LtWorf