705
2020-03-24 22:44:00
0
로그인 되는 순서를 조금 알아두시면 도움이 될것 같아 남깁니다. 기본적으로 구글 로그인 (oauth) 다음과 같은 시나리오로 이루어집니다.
1. bitly에서 구글 로그인 클릭 (구글 로그인 페이지로 redirect)
2. 구글 로그인 폼 제공 및 로그인
3. 구글 로그인 이후 bitly 에서 명세 해놓은 redirect 페이지 (bitly 페이지)로 이동
4. bitly 에서는 redirect 되면서 받은 파라미터를 이용 하여 사용자의 정보 확인
5. 사용자의 정보가 확인되면 세션 생성
(*1번에서 2번으로 넘어갈때 bitly에서 랜덤하게 생성된 값을 구글에 넘기고 리다이렉션 이후 3으로 올때 해당 랜덤 값을 가지고 있는지 확인하기 때문에 강제로 3번부터 시작할 수는 없습니다.)
위의 과정을 직접 짜셔서 개발 하실수도 있지만 그냥 간단하게 로그인 하신 뒤 페이지에 있는 해더를 다 복사 하셔서 requests 해더에 넣으시면 정상적으로 받으 실수 있습니다. (로그인 후 F12 의 네트워크 탭으로 가셔서 로그인 페이지중 아무거나 클릭하신뒤 해더를 모두 복사)
import requests
url = "https://bitly.com/33EqBsL+"
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, br',
... (전부 복사)
}
r = requests.get(url, headers=headers)
print (r.text)