php curl抓取网页指定内容(-get-contents我使用file_get_contents函数)

优采云 发布时间: 2022-04-06 01:14

  php curl抓取网页指定内容(-get-contents我使用file_get_contents函数)

  标签:phpcurlfile-get-contents

  我使用 file_get_contents 函数在我的特定页面上获取和显示外部链接。

  在我的本地文件中一切正常,但我的服务器不支持 file_get_contents 功能,所以我尝试使用 cURL 和下面的代码:

  function file_get_contents_curl($url) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_URL, $url);

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

echo file_get_contents_curl('http://google.com');

  但它返回一个空白页。有什么问题?

  4 个答案:

  答案 0 :( 得分:75)

  试试这个:

  function file_get_contents_curl($url) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

  答案 1 :( 得分:10)

  这应该可以工作

  function curl_load($url){

curl_setopt($ch=curl_init(), CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch);

curl_close($ch);

return $response;

}

$url = "http://www.google.com";

echo curl_load($url);

  答案 2 :( 得分:3)

  //你可以试试这个。它应该可以正常工作。

  function curl_tt($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 3);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

echo curl_tt("https://google.com");

  答案 3 :( 得分:2)

  我在通过直接链接访问 Google 云端硬盘内容时遇到了这个问题。

  调用file_get_contents后返回302暂时移动

  //Any google url. This example is fake for Google Drive direct link.

$url = "https://drive.google.com/uc?id=0BxQKKJYjuNElbFBNUlBndmVHHAj";

$html = file_get_contents($url);

echo $html; //print none because error 302.

  它再次使用以下代码:

  //Any google url. This example is fake for Google Drive direct link.

$url = "https://drive.google.com/uc?id=0BxQKKJYjuNElbFBNUlBndmVHHAj";

$ch = curl_init();

curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 3);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$html = curl_exec($ch);

curl_close($ch);

echo $html;

  我今天测试了它,03/19/201

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线