php CURL 不适用于动态 URL

标签 php curl get dynamic-url

我不明白为什么 CURL 找不到这个 URL。 CURL 引擎只是被带到一个 400 错误页面。

我的代码非常简单,并且可以很好地处理非动态 URL。

我希望它很容易被发现,例如,缺少 CURL 选项。

我试过使用 $url = urlencode($url) 但这也不起作用。

代码如下:

$url = 'http://www.destinations-uk.com/accommodations.php?link=accommodations&country=england&category=Reviews&id=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,            $url);
curl_setopt($ch, CURLOPT_HEADER,         true);
curl_setopt($ch, CURLOPT_NOBODY,         true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT,        15);
$r = curl_exec($ch);
$r = explode("\n", $r);
$keys = array();
if(!empty($r)) $keys[] = array_shift($r);
foreach($r as $line){
    preg_match('/.+:\s/',$line,$match);
    if($match) $keys[substr($match[0],0,-2)] = preg_replace('/.+:\s/','', $line);
}
print_r($keys);

最佳答案

也许,这是服务器端为了防止自动请求而做的事情。

关于php CURL 不适用于动态 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936940/

相关文章:

bash - 在 bash 中解析和存储 curl 命令的 json 输出

php - Controller Laravel 5.2 之间的共享方法

php - 如何在 tcpdf 的一个输出中组合多个语句

php - 在 symfony2 上使用 phpDocumentor

rest - 使用Restful API curl

azure - 如何使用 webhdfs API 访问 Azure datalake

java - Elastic Search get 与 action get

java - Web 服务器如何填充 $_POST 和 $_GET?

php - 编写这两个 SQL 查询的更好方法?

php - 将字符串数据发送到服务器 : string is not sent? 上的 PHP 文件