PHP中CURL使用POST提交XML数据

PHP中CURL使用POST提交XML数据

最近要写一个接口,对方只接受XML数据,毕竟是别人提供的接口,所以规则还是要按照别人的来写。

之前也写过《模拟post登陆提交表单问题详解》 里面也有一种使用CURL模拟POST的方法,可以看看。

代码如下:

$url = "http://www.yhzhan.com/office/";

<!--?xml version="1.0"?-->

$ch = curl_init();

$header[] = "Content-type: text/xml";//定义content-type为xml

curl_setopt($ch, CURLOPT_URL, $url); //定义表单提交地址

curl_setopt($ch, CURLOPT_POST, 1); //定义提交类型 1:POST ;0:GET

curl_setopt($ch, CURLOPT_HEADER, 1); //定义是否显示状态头 1:显示 ; 0:不显示

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定义请求类型

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定义是否直接输出返回流

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //定义提交的数据,这里是XML文件

curl_close($ch);//关闭

在PHP中CURL使用POST提交XML数据时,一定要定义content-type为xml,要不然默认是text/html!