curl 으로 특정 url 수신할 때 header값을 등록하는 이유는??
본문
curl으로 특정 데이타 수신할 때.. 아래와 같이 header array값으로 등록하면
header값을 수신하는데요
안해도 데이타는 수신되는데 하는 이유가 뭔지??
$headers = array(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding: gzip, deflate",
"Accept-Language:ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7",
"Connection: keep-alive",
);
// 헤더는 수신
curl_setopt($ch, CURLOPT_HEADER, $headers);
답변 2
header를 써주는 이유는 나의 상태를 알리기 위함 입니다.
보통 그냥 curl을 쓰신다면 default 값을 적용하는데 header를 써줌으로써 내 상태에 맞춰서 가져오거든요
단순 curl은 상관 없지만 로그인이 필요한 상태라면 header를 사용하기도 합니다
익스나 크롬으로 특정페이지를 접속해서 접속헤더를 보면, print_r($_POST); 였나,
찍어보면 한 4줄 넘게 나옵니다.
즉 브라우저를 통해서 한 내용들을(브라우저가 자동으로 알아서 처리해주는 내용들)을 일일이 curl을 통해서 전달해주는 겁니다.
받아들이는 입장에서는 브라우저를 통해서 왔는지, curl을 통해서 왔는지 알수 없기때문에, header내용만을 기반으로 판단하게 됩니다.
답변을 작성하시기 전에 로그인 해주세요.