当您使用file_gets_contents($website)
或cURL 加载网站时,它会加载整个网站吗?我最感兴趣的是使用cURL。
我正在使用它来加载一个网页,然后使用 AJAX 获取一些内容,例如价格,并且在获取价格时遇到了一些问题。
当我使用 file_get_contents 时,它是否像浏览器上的整个网站一样正常加载,加上使用 Ajax 加载的内容?
当您使用file_gets_contents($website)
或cURL 加载网站时,它会加载整个网站吗?我最感兴趣的是使用cURL。
我正在使用它来加载一个网页,然后使用 AJAX 获取一些内容,例如价格,并且在获取价格时遇到了一些问题。
当我使用 file_get_contents 时,它是否像浏览器上的整个网站一样正常加载,加上使用 Ajax 加载的内容?
不会。使用file_get_contents()
只会返回页面内容,不会在页面本身上执行任何 JavaScript。这种行为的模拟几乎等同于浏览器中的“查看页面源代码”。
片段
$website = 'http://stackoverflow.com/';
file_gets_contents($website)
加载 HTTP 请求的结果,仅此而已。因此,调用会加载由 URL 返回的 html 页面的源代码http://stackoverflow.com/
。
特别是,file_gets_contents()
不加载由 .指向的页面引用的内容http://stackoverflow.com/
。
使用 PHP 评估 JavaScript 代码
如果您想使用 PHP-script 评估 HTML 代码中的 JavaScript,您可能希望使用V8 JavaScript 引擎,它需要编译到您的 PHP 二进制文件中:
在此处查找如何使用 V8 JavaScript 引擎的示例。