2011-03-12 4 views
3

이 사이트에이 웹 양식을 입력하고 로그인을 시도하고있다 : 스크립트가 완료되면 내가 출력으로 로그인 사이트의 소스 코드가 계속 https://www.kalahari.net/profile/pipeline/signin.aspx제출 웹 양식 파이썬

, 그래서 모두가 작동하는 것 같다 (NO 오류)하지만 로그인하지 않은 것입니다. 내가 뭘 잘못하고 있는지 찾을 수 없습니다. 제발 도와주세요. Python 3.1.2를 사용하고 있습니다. Python 3.x로 코드를 작성해야하므로 Mechanize를 사용할 수 없습니다.

내 문제는 로그인 정보를 게시 할 POST URL 일 수 있다고 생각하지만 위선적 인 말로 이해할 수 있고, 무엇이 있어야하는지.

f=open("page_src.html",'wb') 
cj=cookiejar.CookieJar() 

params=urllib.parse.urlencode({'ctl00$ctl00$cplhMain$cplhContent$txtEmail': 'username', 'ctl00$ctl00$cplhMain$cplhContent$txtPassword': 'pass'}) 

opener = req.build_opener(req.HTTPCookieProcessor(cj)) 
opener = urllib.request.FancyURLopener() 
page = opener.open("https://www.kalahari.net/profile/pipeline/signin.aspx", params) 

profilepage = opener.open("https://www.kalahari.net/profile/pipeline/profile.aspx") 
source=profilepage.read() 

f.write(source) 
f.close() 
+0

tcpwatch와 같은 것을 사용하여 로그인 할 때 브라우저가 보내는 것을보고 파이썬이 보내는 것을보십시오. –

+0

URL의 끝에'? ''를 입력하십시오. – jfs

+0

나는 떨어 졌습니까? 여전히 작동하지 않습니다. – Vort3x

답변

1

사이트는 로그인을 위해 쿠키를 사용하고있을 가능성이 큽니다. 즉, 로그인 할 때 얻는 쿠키를 저장해야하고 다음과 같은 요청이있을 때마다 사이트로 보내야한다는 의미입니다.

체크 아웃 http.cookiejar

+0

cookiejar를 사용하기 위해 코드를 편집했습니다. 올바르게 사용했다고 말할 수 있습니까? 하지만 여전히 로그인하지 않습니다. 더 많은 제안, 비평? – Vort3x