卷曲停止浏览器发送获取请求

时间:2011-10-16 22:41:38

标签: php http curl get

我写了这个脚本

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $address);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_COOKIEJAR,$cookieFileLocation);
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookieFileLocation);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 25); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);


$response = curl_exec($ch);  

echo ($response);

curl_close($ch);

当我执行脚本时,将加载站点,但浏览器也会发送一些其他的get请求。如何阻止浏览器发送更多get请求? 我想按照我写的请求,这样我就可以看到哪个请求加载了网站的哪个部分。首先,我只是想在发送我写的请求时看到加载的内容。

2 个答案:

答案 0 :(得分:0)

我不完全确定你想要实现的目标,但最好的办法是监控你何时从cURL收到请求,一旦成功检索到这些请求,你就会处理它们。

此cURL请求只会在脚本加载期间发送,因为要多次发送,您需要使用循环(例如while或foreach)来实现此目的。加载提供的PHP脚本不会发送任何其他GET请求。

答案 1 :(得分:0)

我猜你正在尝试做某种代理,使用curl获取其他一些html页面,然后将其转发到浏览器上?您将不得不重写该页面中的HTML和CSS和JS,以便所有对其他资源(图像,字体,flash等)的请求都指向您的服务器和代理脚本。否则,如果您转发的HTML包含任何绝对(和/或<base>'d)地址,您将无法阻止浏览器直接访问并直接获取这些资源。

相关问题