使用file_get_contents(PHP)获取HTTP 500的响应正文

28
使用file_get_contents作为定制SOAP实现的一部分,以应用SOAP调用(我们尝试过的所有库都无法正确地使用基于SSL +证书的身份验证与SOAP 1.2)。然而,难以处理并且文档不太充足的API经常返回500。响应体中有错误详细信息,但是file_get_contents似乎不允许访问它。fopen似乎也有相同的问题。
怎么办?
由于大量使用流上下文来使身份验证工作,请尽量避免使用cURL。

file_get_contents 应该会返回响应正文。你能展示一些代码吗? - Pekka
echo file_get_contents($url, false, $context); 会生成一个 PHP 警告报告 500,但不会返回任何内容。 - frEEk
1个回答

67

你可以考虑使用nusoap

对于你的问题,如果使用 ignore_errors 就可以解决。

$context = stream_context_create(array(
    'http' => array(
        'ignore_errors' => true
     )
));

$contents = file_get_contents($url, false, $context);

2
这里的解决方案是ignore_errors。 - lonesomeday
对于您关于nusoap的问题……是的,那是第一次尝试。不幸的是它不支持1.2版本。我写了这个脚本5次才得到一个可行的东西。甚至尝试过WSO2的WSF/PHP,它似乎是最完整的lib。唯一宣传支持我们所需要的所有功能的库,但却没有完全实现。 - frEEk
2
搞定了。正是我所需要的。 - Art Geigel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接