PHP readfile()返回' HTTP / 1.1 500内部服务器错误'

时间:2015-10-23 09:48:44

标签: php curl readfile

有一个奇怪的问题。有一些肥皂api:https://ctaau.vedaxml.com/cta/sys2/business-enquiry-v3-2

适用于浏览器

我试图

readfile('https://ctaau.vedaxml.com/cta/sys2/business-enquiry-v3-2'); 

然后我得到HTTP / 1.1 500.

但卷曲也很好用:

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://ctaau.vedaxml.com/cta/sys2/business-enquiry-v3-2',
));
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;

问题:您如何看待,我可以通过readfile()从该api获取http 200? file_get_contents()也返回500错误。

p.s:为什么是readfile(),但是没有SoapClient:据我所知,SoapClient类在其中封装了readfile()。所以,如果我从readfile()获得成功,那么我将尝试为SoapClient找到解决方案。

1 个答案:

答案 0 :(得分:2)

如果我在浏览器中打开https://ctaau.vedaxml.com/cta/sys2/business-enquiry-v3-2,它确实会给我一个HTTP 500错误(请查看开发人员工具中的网络标签)。

我得到的结果是:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <soapenv:Fault>
            <faultcode>soapenv:Server</faultcode>
            <faultstring>Policy Falsified</faultstring>
            <faultactor>https://ctaau.vedaxml.com:8443/cta/sys2/business-enquiry-v3-2</faultactor>
            <detail>
                <l7:policyResult
                    status="Service Not Found.  The request may have been sent to an invalid URL, or intended for an unsupported operation." xmlns:l7="http://www.layer7tech.com/ws/policy/fault"/>
            </detail>
        </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>

查看结果状态消息

  

找不到服务。该请求可能已发送到无效的URL,或用于不受支持的操作。

查找有关API的文档并找到正确的服务网址,或在使用API​​之前了解是否需要先进行身份验证。