0
我正在使用CURL和file_get_contents来找出页面的服务器请求和浏览器请求(有机)之间的基本区别。PHP发送的HTTP标头
我要求一个PHPINFO页面的两种方式,并发现它在不同情况下给出不同的输出。
例如,当我使用的是浏览器的PHPINFO表明这一点: _ SERVER [“HTTP_CACHE_CONTROL”]无缓存 当我通过PHP请求相同的页面此信息丢失。
我卷曲:
$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这是为了防止服务器以不同于常规浏览器请求的方式处理我的请求。 –
好吧,假装我问你_'why?'_5次,然后决定这是否真的是你想要做的。 – Halcyon