내 의도는 사이트에 로그인 한 다음 파이썬 스크립트에서 보호 된 이미지에 액세스하는 것입니다. 브라우저에서 합법적으로 액세스하고 작업 할 수 있습니다.Python : Requests 세션 로그인 쿠키
이것은 내가 지금 가지고있는 것입니다.
import requests
s = requests.Session()
s.get('*domain*')
r_login =s.post('*domain*/user.php', headers={'cmd': 'login', 'loginname': '***', 'password': '***' })
print (s.cookies)
print (r_login.status_code)
r_img = s.get('*domain*/*protectedimage*.jpg')
print (r_img.status_code)
print (r.cookies)
print (s.cookies['PHPSESSID'])
출력 :
<<class 'requests.cookies.RequestsCookieJar'>[<Cookie PHPSESSID=664b0842085b847a04d415a22e013ad8 for *domain*/>]>
200
403
<<class 'requests.cookies.RequestsCookieJar'>[]>
664b0842085b847a04d415a22e013ad8
내가 한 번 이렇게 한 후 HTML 파일을 다운로드하고,이 기록되는 형태이기 때문에 내가 성공적으로 로그인 할 수 있습니다 확신하지만 내. 문제는 내 PHPSESSID
쿠키가 전달되지 않아서 403
오류가 발생하는 것 같습니다. 하지만 제 세션에서 분명히 가지고 있습니다. 쿠키를 수동으로 내 "r_img"
행에 추가하려고 시도했지만 별 차이가 없었습니다. 여전히 비어있는 CookieJar
및 403
오류가 발생합니다. 요청 모듈에서만 가능하지 않습니까? 내가 간과 했니? HTTP
요청에 대해 잘 모르시는 경우 실례합니다.
나는 명확성을 기하기 위해 Python 3.4를 사용하고 있습니다.
쿠키를 설정하지 말고 POST 데이터를 설정해야합니다. 쿠키는 귀하가 게시하는 서버에 의해 설정됩니다. 내 대답을 보라. – data