【发布时间】:2017-02-20 21:09:43
【问题描述】:
所以我有这个非常简单的 cURL 代码,应该检索页面的数据...嗯,它实际上 确实显示了页面的内容...有时,而且,大多数其他时候样式都搞砸了,因为字体没有加载,大多数图像和图形元素也没有加载。如果我更改要显示的页面的 URL,结果会有所不同,有些加载没有问题,有些则根本不显示 anything。
我猜cURL如何处理css有问题,我怎样才能让它正确加载它?
<?php
$ch = curl_init();
$url = 'http://3amigos.com.mx/';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Googlebot/2.1 (http://www.googlebot.com/bot.html)');
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$data = curl_exec($ch);
echo $data;
?>
ABCDEF
就像现在一样,有时它甚至不加载任何内容,只加载没有任何格式的 ABCDEF,有时页面完全是空的。
【问题讨论】:
-
也许有人知道你正在伪造用户代理并阻止你.. CSS 和 JS 除非使用绝对链接请求将失败。
-
Curl 不是解释器。如果您需要发送 http 请求并接收带有 javascript 和 css 解释的完整网站样式,您可以使用 PhantomJS。