需要带有 file_get_contents (PHP) 的 HTTP 500 响应体
Posted
技术标签:
【中文标题】需要带有 file_get_contents (PHP) 的 HTTP 500 响应体【英文标题】:Need response body of HTTP 500 with file_get_contents (PHP) 【发布时间】:2011-08-27 19:29:56 【问题描述】:使用 file_get_contents 作为自定义 SOAP 实现的一部分来应用 SOAP 调用(我们尝试的所有库都不会正确使用 SOAP 1.2 进行基于 SSL + 证书的身份验证)。然而,困难且几乎没有记录的 API 通常返回 500。响应正文中有错误详细信息,但 file_get_contents 似乎不允许访问它。 fopen 似乎也有同样的问题。
做什么?
由于大量使用流上下文来进行身份验证,因此不希望使用 cURL。
【问题讨论】:
file_get_contents
应该给你响应正文。你能显示一些代码吗?
echo file_get_contents($url, false, $context);将生成一个 php 警告,报告 500 但不返回任何内容。
【参考方案1】:
你可以考虑nusoap。
不过,对于您的问题,如果您使用 ignore_errors
,它会起作用。
$context = stream_context_create(array(
'http' => array(
'ignore_errors' => true
)
));
$contents = file_get_contents($url, false, $context);
【讨论】:
ignore_errors
是这里的解决方案。
您对 nusoap 的问题...是的,这是第一次尝试。不幸的是没有做1.2。从字面上看,这个脚本写了 5 次,然后才得到了一些有用的东西。甚至尝试过似乎是最完整的库的 WSO2 的 WSF/PHP。只有 lib 宣传支持我们需要的一切,但没有完全提供。
巴姆。正是我需要的。以上是关于需要带有 file_get_contents (PHP) 的 HTTP 500 响应体的主要内容,如果未能解决你的问题,请参考以下文章
使用带有file_get_contents的FTP URL包装器时“无法打开流:操作失败”
如何在 Javascript 中使用 file_get_contents 和 json_decode
php file_get_contents 和 curl_exec 不适用于外部文件