로그인 유지 관련 문의
본문
로그인을 유지하고 싶은데, 로그인 유지가 안됩니다.
고수님들의 고견 부탁드려요~^^
$cookie_nm = 'xml/cookie.txt';
$url="https://accounts.interpark.com/login/submit";
$send_data = "userId=ooooo&userPwd=oooooo";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url); //접속할 URL 주소
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $send_data);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie_nm);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie_nm);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_COOKIESESSION, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
$data=curl_exec($ch);
$url2="http://www.interpark.com/mypage/order/OrderSearchList.do?_method=initial&logintgt=mypage&sid1=gb&sid2=svc";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url2); //접속할 URL 주소
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $send_data);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie_nm);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie_nm);
curl_setopt ($ch, CURLOPT_COOKIESESSION, true);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
$data1=curl_exec($ch);
curl_close($ch);
답변 4
위의 코드로 로그인이 안되지 않으세요?
사양이 다른걸로 알고 있는데요, 캡챠 우회도 필요하구요.
PHP CURL에서 Cooki값을 읽어서 관리하도록 정의하였는데요.
해당 사이트에서 로그인 안되는거 같아서 우선적으로 로그인 정보가 맞는데 체크를 해보시는게 좋습니다.
그리고 이후 쿠키값을 정상적으로 가지고 오는지도 체크 해보시기 바랍니다.
코드상으로는 헤더가 부족합니다.
헤더는 브라우저에서 직접 로그인 하면서 네트워크 분석으로 어떤 헤더를 어떤 방식으로 넘기는지 확인 후 그대로 보내야합니다.
아래 코드는 예시이며 사이트마다, 동일 사이트라도 메뉴마다 헤더가 다른 경우가 많으니 확인 후 넣고 빼고 해보세요.
레퍼러를 헤더로 보내는 경우, curl 속성으로 보내는 경우가 있으니 이것도 테스트 해보세요.
쿠키는 파일에 써지니까 제대로 쿠키 남는지 보세요.
$referer = "https://~~~~~~~";
$headers = array(
"accept: */*",
"accept-encoding: gzip, deflate, br",
"accept-language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,ja;q=0.6",
"origin: ",
"User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
);
curl_setopt($oCurl, CURLOPT_REFERER, $referer);
curl_setopt($oCurl, CURLOPT_HTTPHEADER, $headers);
토끼님, 안녕하세요.
인터파크 로그인 유지 해결 하셨나요?
저도 사례하고 도움 받고 싶습니다..