import requests
username = '----'
password = '----'
payload = {
'id': username,
'pw': password
}
with requests.Session() as s:
r = s.post("https://nid.naver.com/nidlogin.login", data=payload)
if r.status_code == 200:
print("Successed to send data!")
#print(r.text)
if "https://nid.naver.com/login/sso/finalize.nhn" in str(r.content):
print("login successed")
else:
print("login failed")
else:
print("Failed to send data")
위 코드 뭐가 잘못되어서 자꾸 로그인이 안될까??
파이썬이랑 http 공부 어제 시작해서 잘 모르겠다..
어제부터 이거떄문에 잠이 안오드라
최소한 리스폰즈 데이터는 보여줘야지.
그리고 post 보낼때 헤더 세팅 같은 거는 잘 되어있는지도 확인해보고.
보통 헤더 하나도 안 건드리고 데이터만 보냈을 때 성공하는 경우는 잘 없던데.
최소한 Content-Type은 명시해줘야 하니.
이 예제라면 Content-Type: application/x-www-form-urlencoded
이 헤더도 아마도 필요 X-Requested-With: XMLHttpRequest
아..그렇구나 고마워 지금 글에 response 데이터 넣어서 수정하려고 하는데 안올라간다...
잘 모르겠으면 크롬 개발자 도구 네트워크 탭 열어놓고, 로그인 한다음 어떤 POST 리퀘스트가 갔는지 디테일을 확인해보삼.
진짜 고마워..
보통 content type이랑 x request with/ user agent/referer 정도만 신경써주면됨