gpt4 book ai didi

php - 简单的 DOM file_get_html 不返回任何内容

转载 作者:行者123 更新时间:2023-12-02 04:35:26 26 4
gpt4 key购买 nike

我正在尝试从某些网站上抓取数据。对于几个网站,一切似乎都很好,但对于一个网站,它似乎无法获取任何 HTML。这是我的代码:

<?php include_once('simple_html_dom.php');

$html = file_get_html('https://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=' . $_POST['data']);

echo $html; ?>

我正在使用 ajax 获取数据。当我在我的 js 中记录返回值时,它完全是空的。

会不会是因为这个网站运行在https上?如果是这样,有没有办法解决它? (我已经尝试将 url 更改为 http,但我得到了相同的结果)

更新:

如果我 var_dump $html 变量,我得到 bool(false)。

我的 PHP 错误日志是这样说的:

[2014 年 2 月 27 日 22:20:50 欧洲/阿姆斯特丹] PHP 警告:file_get_contents(http://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=tarmogoyf):无法打开流:HTTP 请求失败! HTTP/1.0 403 禁止访问 在/Users/leondewit/PhpstormProjects/Magic/stores/simple_html_dom.php 第 75 行

最佳答案

这是您的用户代理,默认情况下 file_get_contents 不会发送一个,因此:

$url = 'http://www.magiccardmarket.eu/?mainPage=showSearchResult&searchFor=tarmogoyf';
$context = stream_context_create(array('http' => array('header' => 'User-Agent: Mozilla compatible')));
$response = file_get_contents($url, false, $context);
$html = str_get_html($response);
echo $html;

关于php - 简单的 DOM file_get_html 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com