Php 如何像web浏览器那样模拟请求?

Php 如何像web浏览器那样模拟请求?,php,browser,emulation,Php,Browser,Emulation,当我看着 通过浏览器,我可以看到一个完全不同于我使用时的网站: file_get_contents(...) // or $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'; $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($c

当我看着 通过浏览器,我可以看到一个完全不同于我使用时的网站:

file_get_contents(...) // or

$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,...);
$result=curl_exec($ch);
var_dump($result);`

如何获得浏览器中看到的html代码?

此网站上的html由浏览器使用javascript在客户端呈现。如果您试图解析网站中的某些内容,请尝试使用无头浏览器。无头浏览器是一种在没有图形界面的情况下工作的浏览器,但其行为与普通浏览器类似。Chrome和Firefox都有无头版本

下面是一个使用php查询无头浏览器的有用库: 您还可以像真实用户一样与javascript发送命令交互


如果您没有在主机帐户中安装浏览器和驱动程序所需的权限,您可以在其他计算机(甚至您自己的电脑)上安装浏览器和驱动程序。

它有JS代码来呈现部件或页面。您需要无头浏览器或测试环境,如或。仅使用PHP不可能做到这一点?有一些用于PHP的无头浏览器您可以尝试,但这些是第三方软件,需要使用
composer
:和安装。