curl之post提交xml

直接上代码:

 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.php

1 <?php
2   if(isset($_POST[‘name‘])){
3       if(!empty($_POST[‘name‘])){
4           echo ‘您好,‘,$_POST[‘name‘].‘!‘;
5     }
6 }
7 ?>
时间: 2024-10-10 11:24:30

curl之post提交xml的相关文章

php使用curl提交xml数据

$str_callback_url="xxxx.com/api.php";$str_callback_url="xml数据";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $str_callback_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch,

PHP 以POST方式提交XML、获取XML,最后解析XML

以POST方式提交XML // Do a POST $data="<?xml version='1.0' encoding='UTF-8'?> <TypeRsp> <CONNECT_ID>1</CONNECT_ID> <MO_MESSAGE_ID>2</MO_MESSAGE_ID> </TypeRsp>"; //$data = array('name' => 'Dennis', 'surname'

CURL 模拟http提交

1:CURL模拟get提交 private function httpGet($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHO

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法整理分享一下额,具体代码如下: (1)使用php curl获取网页数据的方法: $ch=curl_init(); //设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.nettuts.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); //执行

CURL模拟POST提交的二种方法实例

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式. 方法一(返回的是json字符串格式): /** * Curl版本 * 使用方法: * $post_string = "app=request&version=beta"; * request_by_curl('http://facebook.cn/restServer.php',$post_string); */ function actionPost($url,$data){

cURL模拟POST方法提交XML数据并解析

php编程中会用到xml格式传送数据,这里演示下php以post形式发送xml,服务器接收,并解析xml的过程! post_xml.php源码: 1 <?php 2 header("Content-Type:text/html; charset=utf-8"); 3 //检测是否支持cURL 4 if(!extension_loaded('curl')) 5 { 6 trigger_error('对不起,请开启curl功能模块!', E_USER_ERROR); 7 } 8 //

php curl模拟post提交数据示例

<? header("Content-type: text/html; charset=utf8"); /* * 提交请求 * @param $header array 需要配置的域名等header设置 array("Host: devzc.com"); * @param $data string 需要提交的数据 'user=xxx&qq=xxx&id=xxx&post=xxx'.... * @param $url string 要提交

php post提交xml文件

<?php header("Content-type: text/xml;"); // xml code demo $xmlData = '<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://ww

AJAX+cURL+SimpleXMLElement处理数据

curl_xml.html: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>cURL提交XML数据</title> 6 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"&g