저는 CURL과 file_get_contents를 사용하여 페이지에 대한 서버 요청과 브라우저 요청 (유기적) 간의 기본적인 차이점을 확인하고 있습니다.PHP에서 보낸 HTTP 헤더
나는 PHPINFO 페이지를 두 가지 방법으로 요청하고 있으며 다른 경우에 다른 출력을 제공한다는 것을 알았습니다. _SERVER [ "HTTP_CACHE_CONTROL"] 내가 PHP를 통해 동일한 페이지를 요청하고 할 때이 정보가없는 노 캐시 : 나는 브라우저를 사용하고 때
는 예를 들어,은 phpinfo이 표시됩니다.
내 CURL :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/phpinfo.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0");
curl_setopt($ch, CURLOPT_INTERFACE, $testIP);
$output = curl_exec($ch);
curl_close($ch);
내 file_get_contents :
$opts = array(
'socket' => array('bindto' => 'xxx.xx.xx.xx:0'),
'method' => 'GET',
'user_agent ' => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0", // this doesn't work
'header' => array('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*\/*;q=0.8')
);
내 목표 : 는 PHP 요청을하려면 브라우저 요청에 동일하게 보인다.
왜 요청이 브라우저 요청처럼 보이길 원하십니까? – Halcyon
@Halcyon 이것은 서버가 일반 브라우저 요청과 다른 방식으로 내 요청을 처리하지 못하도록하기위한 것입니다. –
좋아, 내가 너에게 물어 본 척하는데 ~ 5 번, 그게 정말로하고 싶은지 결정해라. – Halcyon