4

当您使用file_gets_contents($website)cURL 加载网站时,它会加载整个网站吗?我最感兴趣的是使用cURL

我正在使用它来加载一个网页,然后使用 AJAX 获取一些内容,例如价格,并且在获取价格时遇到了一些问题。

当我使用 file_get_contents 时,它是否像浏览器上的整个网站一样正常加载,加上使用 Ajax 加载的内容?

4

2 回答 2

4

不会。使用file_get_contents()只会返回页面内容,不会在页面本身上执行任何 JavaScript。这种行为的模拟几乎等同于浏览器中的“查看页面源代码”。

于 2012-12-20T18:17:26.087 回答
0

片段

$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 引擎的示例。

于 2012-12-20T18:13:53.333 回答