location.href랑 curl 차이
본문
언어 측면에서도 다르지만
get이나 post 필요없이
www.naver.com 를 호출해야한다고 할때
location.href= "http://www.naver.com";랑
-----------------curl------------------
header('Content-Type: application/x-www-form-urlencoded');
$url = "http://www.naver.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //원격 서버의 인증서가 유효한지 검사 안함
$response = curl_exec($ch);
curl_close($ch);
두개 차이가 뭘까요?
!-->!-->답변 3
curl은 보통 api 접근이나 크롤링할때 사용하는 방법이라서.
네이버가 차단한것으로 보여집니다.
터미널에서 curl "http://naver.com"하면
결과값이 302 코드가 나옵니다.
이는 redirect 처리된 내용이라서.
웹브라우저의 접근이 아니면 차단하는 방법같아 보입니다.
location.href 는 당연히 웹브라우저의 javascript방법이니 지장이 없겠죠
단순히 www.naver.com 이 페이지를 실행한다는 측면에서는 차이는 없습니다. 다른 차이라면 curl 은 헤더나 기타 정보를 추가 변경해서 보낼수 있겠습니다.
location.href는 웹브라우저가 네이버로 부터 직접 데이터를 받아들이는거고
curl은 일단 서버에서 네이버로 부터 데이터를 받아 사용자에게 보여주는 경우입니다.
완전 다른 것입니다.
그리고 네이버로 부터 curl이 작동되지 않는 경우는 대부분 curl사용법을 모르기 때문일 겁니다.
구글에서 php curl https로 검색해서 해당 부분을 추가 설정후 시도해 보시죠.
답변을 작성하시기 전에 로그인 해주세요.