PHP Curl无法执行

3

我正在尝试使用cURL从Instagram用户资料中检索HTML。

我对cURL很陌生,不知道出了什么问题导致错误。

执行cURL时没有任何反应,页面似乎会刷新?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.instagram.com/zohebchaudhry1/'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookiess.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookiess.txt');
curl_setopt($ch ,CURLOPT_TIMEOUT , 10);
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" );
$html = curl_exec($ch);
curl_close($ch);
echo $html;

上方是 PHP cURL 代码。


尝试将echo htmlentities( $html );作为您的最后一行代码。 - Kenney
好像它起作用了!你能解释一下为什么需要使用htmlentities函数吗? - user3882630
它转义了 <,这样你的浏览器就不会将其视为 HTML。可能会在 <head><script> 中进行重定向。 - Kenney
1个回答

0

看起来cURL正在工作,但是由于可能不希望打印HTML,因此无法看到输出。

我建议用echo htmlentities($html);替换echo $html;

了解更多:php.net/htmlentities


1
不清楚关于downvote的事情,但你可能想要使用htmlentities($html, ENT_QUOTES | ENT_HTML401 | ENT_SUBSTITUTE | ENT_DISALLOWED, 'UTF-8', true)函数。 - hanshenrik
很好的建议 @hanshenrik。ENT_DISALLOWED 用 Unicode Replacement 替换在指定文档类型中无效的代码点。需要注意的是,它仅适用于 PHP 5.4.0 或更高版本。**示例** - jaggedsoft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接