XML发布与Json给出空白响应

时间:2016-10-13 14:44:02

标签: php json xml curl

我正在尝试使用CURL发布XML但得到空响应 虽然同样适用于requestmaker.com

网址:https://ipcharge.net/ipchapi/rh.aspx

XML代码

<TRANSACTION>
   <USER_ID>mqueacio</USER_ID>
   <USER_PW>WELcome20</USER_PW>
   <CLIENT_ID>15928200010001</CLIENT_ID>
   <MERCHANTKEY>i6UM7ld85dRsayie8Vh7SPQW3e2s846M2454b4gic5L2ArtOiwsUYgYSYAWDRISL</MERCHANTKEY>
   <FUNCTION_TYPE>PAYMENT</FUNCTION_TYPE>
   <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
   <COMMAND>SALE</COMMAND>
   <ACCT_NUM>1111</ACCT_NUM>
   <CUSTOMER_STREET>hgh ghg</CUSTOMER_STREET>
   <CUSTOMER_ZIP>ghgh</CUSTOMER_ZIP>
   <EXP_MONTH>2</EXP_MONTH>
   <EXP_YEAR>2017</EXP_YEAR>
   <PRESENT_FLAG>1</PRESENT_FLAG>
   <INVOICE>123</INVOICE>
   <TRANS_AMOUNT>111.00</TRANS_AMOUNT>
   <CARDHOLDER>HGG HGHG</CARDHOLDER>
   <CVV2>111</CVV2>
</TRANSACTION>

Php Code如下

$ch = curl_init($_POST['url']);
        curl_setopt($ch, CURLOPT_MUTE, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST['string']);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
        $output = curl_exec($ch);
        curl_close($ch);
$array_data = json_decode(json_encode(simplexml_load_string($data)), true);

print_r($array_data);

如果我们在上述网站中提供相同的数据,则会给出回复 但是,当我尝试使用php时,它没有给出任何回复

1 个答案:

答案 0 :(得分:1)

由于请求发送到https服务器需要传递证书文件..请尝试禁用https验证,如下所示。

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);