直接上例子
public function curl_post($url,$array){
$curl = curl_init();
// 設(shè)置提交的url
curl_setopt($curl, CURLOPT_URL, $url);
//設(shè)置頭文件的信息作為數(shù)據(jù)流輸出
curl_setopt($curl, CURLOPT_HEADER, 0);
//設(shè)置獲取的信息以文件流的形式返回,而不是直接輸出领舰。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
//設(shè)置post數(shù)據(jù)
$post_data = $array;
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//執(zhí)行命令
$data = curl_exec($curl);
//關(guān)閉URL請求
curl_close($curl);
//獲得數(shù)據(jù)并返回
return $data;
}
//or
function postXmlCurl($xml, $url, $useCert = false, $second = 30){
$ch = curl_init();
//設(shè)置超時
curl_setopt($ch, CURLOPT_TIMEOUT, $second);
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
//設(shè)置header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求結(jié)果為字符串且輸出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if($useCert == true){
//設(shè)置證書
//使用證書:cert 與 key 分別屬于兩個.pem文件
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
//curl_setopt($ch,CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH);
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
//curl_setopt($ch,CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);
}
//post提交方式
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
//運行curl
$data = curl_exec($ch);
//返回結(jié)果
if($data){
curl_close($ch);
return $data;
} else {
$error = curl_errno($ch);
curl_close($ch);
return false;
}
}
在程序中調(diào)用的方法
$data = array('req'=>$req);//定義一個要發(fā)送的信息
$url = 'http://222.35.5.7/vapi/service/cancelOrder';//定義目標(biāo)URL
$result = $this->curl_post($url,$data);//PHP中調(diào)用
var_dump($result);//打印結(jié)果
實現(xiàn)get請求
function curl_get($url){
$curl = curl_init();
//設(shè)置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//設(shè)置頭文件的信息作為數(shù)據(jù)流輸出
curl_setopt($curl, CURLOPT_HEADER, 0);
//設(shè)置獲取的信息以文件流的形式返回拄查,而不是直接輸出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//執(zhí)行命令
$data = curl_exec($curl);
//關(guān)閉URL請求
curl_close($curl);
//顯示獲得的數(shù)據(jù)
return $data;
}