【发布时间】:2011-01-11 17:55:05
【问题描述】:
我正在使用 CURL 来检查是否存在 URL(HEAD 请求),但是当我使用 www.google.com 对其进行测试时,它会将我重定向到 www.google.co.uk - 可能是因为我的服务器位于英国。
有没有办法阻止这种情况发生?我不想删除 CURLOPT_FOLLOWLOCATION 选项,因为这对 301 重定向等很有用。
我的部分代码如下;
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
$output = curl_exec($ch);
// get data
$data = curl_getinfo($ch);
当我将$url 设置为www.google.com 时,$data['url'] 包含www.google.co.uk
【问题讨论】:
-
@Webbo - 我知道你已经接受了蒂姆的回答,但有办法做到这一点(见我的回答)。
-
谢谢,你每天都能学到东西!
-
哇,这个网站太棒了,谢谢大家!
-
没问题。欢迎使用 Stack Overflow!