【问题标题】:Why CURL doesn't get the HTML of page?为什么 CURL 没有得到页面的 HTML?
【发布时间】:2016-12-07 06:12:00
【问题描述】:

这是我的代码:

<?php

$url = "https://www.facebook.com/login/identify?ctx=recover&lwv=110";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: graph.facebook.com'));
$output = curl_exec($ch);
curl_close($ch);

var_dump($output);

我正在尝试获取 facebook 页面之一的内容 (html)。但我的代码返回一个空白页。我的意思是它什么也不返回。输出:

bool(false)

怎么了?我该如何解决?

注意: CURL 在我的 php 中启用。

【问题讨论】:

  • 愚蠢的问题,你试过debugging吗?我的意思是,在我看来,在提问之前这样做是合乎逻辑的。
  • @Xorifelse 我正在尝试调试 1 周..!
  • @Xorifelse 这也是你提供的链接的结果Curl error: Failed to connect to www.facebook.com port 443: Connection refused
  • @MartinAJ 尝试添加curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 并删除curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  • Facebook 无论如何都不允许使用任何此类自动登录。如果您想与 Facebook 互动,请使用他们的 API。

标签: php html facebook curl


【解决方案1】:

对 facebook 运行自动脚本不好。如果您需要他们提供的任何东西,您最好使用他们的图形 api。

现在你没有得到任何东西,因为你没有处理重定向,也没有提供任何用户代理字符串。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Opera 11'));

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
相关资源
最近更新 更多