제목 | curl로 Request Header를 변경해서 페이지를 읽고 싶습니다. | ||
---|---|---|---|
글쓴이 | 펜펜 | 작성시각 | 2014/10/26 19:37:01 |
|
|||
안녕하세요. curl 작업중 request header 변경이 안되서 질문 드립니다. 현재 linode 클라우드 서버에 LAMP 만 깔고 테스트 중입니다. OS는 우분투 12.04 이고, cURL enabled, allow_url_fopen on 확인했고 테스트로 curl.php 파일을 만들어 아래 소스를 입력해 테스트 했습니다. $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://google.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER, 'http://google.com'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); $html = curl_exec($ch); curl_close($ch); print "<pre>".$html."</pre>"; 요청헤더 확인은 크롬 개발자도구의 네트워크 탭과 Httpanalyzer를 사용했는데, 아래의 결과가 동일하게 나왔습니다. Request Headers GET /curl.php HTTP/1.1 Host: 106.185.xx.xx Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36 Accept-Encoding: gzip,deflate,sdch Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 Response Headers HTTP/1.1 200 OK Date: Sun, 26 Oct 2014 10:30:02 GMT Server: Apache/2.2.22 (Ubuntu) X-Powered-By: PHP/5.3.10-1ubuntu3.14 Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 241 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html 보시는 것 처럼 Request Headers가 제가 설정한 대로 넘어가지 않습니다. 몇몇 커뮤니티에 올려보았으나 해결이 안되거나 답변이 없었고 구글링을 해봐도 저랑 같은 증상을 찾을 수 없었습니다. 대체 어디에서 문제가 생겼는지 모르겠습니다 ㅠㅠ CI 커뮤니티에는 고수분들이 많으시니 조언 부탁드리겠습니다. |
|||
다음글 | php 메일 발송 시 파일 첨부 (2) | ||
이전글 | 폴더 하위에 존재하는 파일 이름 가지고 오기 (2) | ||
한대승(불의회상)
/
2014/10/27 07:52:16 /
추천
0
|
펜펜
/
2014/10/27 10:10:05 /
추천
0
답변감사합니다!
개발서버로 헤더날리고 받아보니 설정한 값으로 날아갔네요. 윈도용 프로그램 개발할때는 Httpanalyzer로 확인한 기억이 있어서 그것 생각하고 찍힐때까지 삽질만 계속 했네요 ㅠㅠ |
단, 변경된 헤더는 google.com 에서 확인 가능 합니다.
헤더가 제대로 변경되었는지 보고 싶다면 요청 URL을 개발하고 있는 웹서버로 바꿔서 확인하세요.