curl发起是php中发起http常用的,使用的时候大概有以下4个步骤:
一、curl_init 初始化;
二、curl_setopt 设置参数;
三、curl_exec 发起请求并返回结果;
四、curl_close关闭;
下面直接上代码,其中$data是一个数组,这是json数据请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,2);//单位是2s
curl_setopt($ch, CURLOPT_TIMEOUT,2);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
其中,CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT是设置请求超时时间的,可以根据自己的情况适当修改。
然后是xml数据的请求:
$xml1 = '<?xml version="1.0" encoding="utf-8"?>后续数据省略';
$wsdl = 'http://127.0.0.1:8888/test/test.asmx?wsdl';
$header[] = "Content-type: text/xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $wsdl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml1);
$response = curl_exec($ch);
curl_close($response);