有一个奇怪的问题。有一些肥皂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找到解决方案。
答案 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之前了解是否需要先进行身份验证。