2
백그라운드에서 실행되고 포럼 (phpBB3 사용)에 새 메시지가 들어 있는지 확인하는 작은 스크립트를 만들려고합니다. 많은 하위 포럼이 로그인 한 사용자의 권한을 볼 필요가 있기 때문에 먼저 서버에 로그인하여 사후 요청을 보내는 스크립트를 만들었습니다.phpBB 포럼에 로그인하십시오. 쿠키가 변경됨
스크립트가 현재 성공적인 로그인을 얻었으며 내가 로그인했음을 알리는 환영 메시지가 인사드립니다. 그러나 새 페이지에 액세스하면 스크립트가 로그인되어 세션 쿠키가 변경된 것을 잊어 버린 것처럼 보입니다 .
이import urllib, urllib2, cookielib, re, time
username = "username"
password = "password"
loginsite = "http://www.mydomain.com/ucp.php?mode=login"
ok_tekst = "You have been successfully logged in."
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'password' : password,
"autologin" : "on", 'login' : 'Login'})
resp = opener.open(loginsite, login_data)
if ok_tekst in resp.read():
print "Login successfull"
print "Cookies are:"
for cookie in cj:
print cookie
post_site = "http://www.mydomain.com/"
ok_tekst = "Logout [ " + username + " ]"
resp = opener.open(post_site)
readHTML = resp.read()
if ok_tekst not in readHTML:
print ""
print "Unsuccessfull, I am now logged out?!"
print "Cookies are now:"
for cookie in cj:
print cookie
이것은 또한 다른 쿠키의 값을 보여줍니다 다음과 같은 출력을 생성합니다 : 여기
은 나에게 오류를 제공 내가 만든 몇 가지 작은 테스트 코드>> python test.py
Login successfull
Cookies are:
<Cookie phpbb3_pwsle_k=b3fe944b89bfbce2 for .mydomain.com/>
<Cookie phpbb3_pwsle_sid=318b3ace3d52409fb5e1eef87433fbdb for .mydomain.com/>
<Cookie phpbb3_pwsle_u=419 for .mydomain.com/>
Unsuccessfull, I am now logged out?!
Cookies are now:
<Cookie phpbb3_pwsle_k= for .mydomain.com/>
<Cookie phpbb3_pwsle_sid=719520cd3a16526d6da4fa2fbdfe40f4 for .mydomain.com/>
<Cookie phpbb3_pwsle_u=1 for .mydomain.com/>
다른 코드가 있습니까? 나는 복사/붙여 넣기 및 내 사용자를 넣어/통과 및 내 포럼에 대해 테스트하고 예상대로 작동합니다. – Andy
이것은 내가 사용하고있는 코드입니다. (변경은 사용자 이름과 암호를 숨기는 것입니다) – Etse
phpbb3의 어떤 버전이 있습니까? 내가 말했듯이, 나는 문제를 재현 할 수 없다. – Andy