curl之post提交xml

直接上代碼:php

 1     /** 
 2      * 以post方式提交xml到對應的接口url
 3      * 
 4      * @param string $xml  須要post的xml數據
 5      * @param string $url  url
 6      * @param bool $useCert 是否須要證書,默認不須要
 7      * @param int $second   url執行超時時間,默認30s
 8      * @throws WxPayException
 9      */
10     private static function postXmlCurl($xml, $url, $useCert = false, $second = 30) 
11     {    
12         $ch = curl_init();
13         //設置超時
14         curl_setopt($ch, CURLOPT_TIMEOUT, $second);
15     
16         //若是有配置代理這裏就設置代理
17         if(WxPayConfig::CURL_PROXY_HOST != "0.0.0.0" 
18             && WxPayConfig::CURL_PROXY_PORT != 0){ 
19             curl_setopt($ch,CURLOPT_PROXY, WxPayConfig::CURL_PROXY_HOST);
20             curl_setopt($ch,CURLOPT_PROXYPORT, WxPayConfig::CURL_PROXY_PORT);
21         }   
22         curl_setopt($ch,CURLOPT_URL, $url);
23         curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
24         curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//嚴格校驗
25         //設置header
26         curl_setopt($ch, CURLOPT_HEADER, FALSE);
27         //要求結果爲字符串且輸出到屏幕上
28         curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
29     
30         if($useCert == true){
31             //設置證書
32             //使用證書:cert 與 key 分別屬於兩個.pem文件
33             curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
34             curl_setopt($ch,CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH);
35             curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
36             curl_setopt($ch,CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);
37         }
38         //post提交方式
39         curl_setopt($ch, CURLOPT_POST, TRUE);
40         curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
41         //運行curl
42         $data = curl_exec($ch);
43         //返回結果
44         if($data){
45             curl_close($ch);
46             return $data;
47         } else {
48             $error = curl_errno($ch);
49             curl_close($ch);
50             throw new WxPayException("curl出錯,錯誤碼:$error");
51         }
52     }

response.phpcurl

1 <?php
2   if(isset($_POST['name'])){
3       if(!empty($_POST['name'])){
4           echo '您好,',$_POST['name'].'!';
5     }
6 }
7 ?>
相關文章
相關標籤/搜索