当前位置: 首页 > 知识库问答 >
问题:

为什么在使用file_get_contents()时出现500错误,但在浏览器中工作?

常翰
2023-03-14
$html = file_get_contents("https://www.[URL].com"); 
echo $html;

在错误日志中生成以下内容:

PHP警告:文件\u获取\u内容(https://www.[URL].com)[function.file get contents]:无法打开流:HTTP请求失败!HTTP/1.1500/Applications/MAMP/htdocs/test中的内部服务器错误。第13行的php”;

但是,该站点在浏览器中运行良好。

我也试过使用cURL。我在日志文件中没有发现任何错误,但$html现在会回显:

“/”应用程序中出现服务器错误
对象引用未设置为对象的实例。

...更多调试信息

有没有办法解决这个问题?

共有2个答案

左丘涵畅
2023-03-14

我必须在标题中输入更多数据:

$opts = array('http' => array(
    'method' => "GET",
    'header' => "User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0\r\n"
    . "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
    . "Accept-Encoding:gzip, deflate\r\n"
    . "Accept-Language:cs,en-us;q=0.7,en;q=0.3\r\n"
    . "Connection:keep-alive\r\n"
    . "Host:your.domain.com\r\n"
    ));
$context = stream_context_create($opts);
$html = file_get_contents($sap_url, FALSE, $context);
闽焕
2023-03-14

尝试以下解决方法

$opts = array('http'=>array('header' => "User-Agent:MyAgent/1.0\r\n"));
$context = stream_context_create($opts);
$header = file_get_contents('https://www.example.com',false,$context);

如果这不起作用,也许你不能从https中读取?

 类似资料:
  • 问题内容: 在错误日志中产生此: PHP警告:file_get_contents(https:// www。[URL] .com)[function.file-get- contents]:无法打开流:HTTP请求失败!第13行的/Applications/MAMP/htdocs/test.php中的HTTP / 1.1 500 Internal Server Error; 但是,该网站可以在浏览

  • 我最终得到了一个500的错误,这取决于stacktrace,这可能是一个数据格式错误,但我所有的变量都是字符串,所以我根本看不到错误在哪里。此外,我的连接jdbc很好,因为在调试模式下,我可以看到数据库的值,但一旦它进入JSP中,它就不再工作了。你能帮帮我吗? servlet JSP 豆类 BDD连接 堆栈跟踪 我的servlet:

  • 问题内容: 我的项目过去还不错-文件空白,编辑器痕迹,问题视图和程序包浏览器树中的错误都显示为红色X标记。 虽然有点自发,但它停止正常工作。 如果我在代码中引入了错误,则该错误将显示在文件的空白处,并且没有其他地方。需要进行“项目清理”才能使红色X出现在其他地方。 然后,如果我解决了问题,该错误会从文件边缘清除,但红色标记会在其他位置持续存在,直到我再次进行清理为止。 为什么它不再自动正确显示错误

  • 当我将请求发送到https://DOMAIN:443/path它在我尝试过的每个web浏览器中都能正常工作。但是当涉及到旋度(和wget)时,我得到了一个错误。我已经重新编译了openssl和curl(最新版本),没有任何更改。 curl-vvhttps://DOMAIN:443/path 输出 *TCP_NODELAY设置 *连接到DOMAIN(IPADDRESS)端口443(#0)*ALPN,

  • 问题内容: 我尝试在Firefox 15上使用,即使它在其他版本的Firefox和其他浏览器(例如Chrome和Safari)上也无法使用。 当我使用Firefox的检查器查看属性时,将被删除并显示错误“无效的属性值”。MDN和caniuse表示Firefox 4及更高版本支持该功能! 怎么会有时性能喜欢和一些浏览器的工作和在其他无效? 免责声明 :这是所有问题的规范重复,可通过添加供应商前缀来完

  • 问题:当我在浏览器中直接调用url(url映射)时,它工作得很好,但当我使用post方法从jsp文件中调用servlet时,它不工作,但给出了一个错误: 类型状态报告 留言 /HelloWorld/myservlet 说明源服务器找不到目标资源的当前表示形式,或不愿意透露存在该表示形式。 jsp页面: 网状物xml: Servlet代码: