您現在的位置是:首頁 > PHP實例

PHP自定義函數postXmlSSLCurl實例

李清波2019-04-27PHP實例


使用證書,以post方式提交xml到對應的接口url

function postXmlSSLCurl($xml,$url,$second=30){
    $ch = curl_init();
    //超時時間
    curl_setopt($ch,CURLOPT_TIMEOUT,$second);
    //這里設置代理,如果有的話
    //curl_setopt($ch,CURLOPT_PROXY, '8.8.8.8');
    //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
    //設置header
    curl_setopt($ch,CURLOPT_HEADER,FALSE);
    //要求結果為字符串且輸出到屏幕上
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
    //設置證書
    //使用證書:cert 與 key 分別屬于兩個.pem文件
    //默認格式為PEM,可以注釋
    //curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
    //curl_setopt($ch,CURLOPT_SSLCERT, getcwd() . '/source/class/pay/Weixinnewpay/apiclient_cert.pem');
    //默認格式為PEM,可以注釋
    //curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
    //curl_setopt($ch,CURLOPT_SSLKEY, getcwd() . '/source/class/pay/Weixinnewpay/apiclient_key.pem');
    //post提交方式
    curl_setopt($ch,CURLOPT_POST, true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);
    $data = curl_exec($ch);
    //返回結果
    if($data){
        curl_close($ch);
        return $data;
    }else { 
        $error = curl_errno($ch);
        echo "curl出錯,錯誤碼:$error"."<br>"; 
        echo "<a href='http://curl.haxx.se/libcurl/c/libcurl-errors.html'>錯誤原因查詢</a></br>";
        curl_close($ch);
        return false;
    }
}


上一篇:沒有了

下一篇:PHP自定義函數xmlToArray實例

評論