curl,用法實例
来源:互联网 发布:连通区域图像分割算法 编辑:程序博客网 时间:2024/06/06 13:12
//以post方式提交xml到對應的接口url:
//實例場景(一):微信支付
public function postXmlCurl($xml,$url,$second=30){
// 初始化一個curl會話
$ch = curl_init();
//爲一個curl設置會話參數,
curl_setopt($ch, CURLOPT_TIMEOUT, $second);
//這裡設置代理,如果有的話
//curl_setopt($ch,CURLOPT_PROXY, '8.8.8.8');
//curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
//CURLOPT_URL:需要獲取的URL地址(也可以在curl_init()函數中設置)
curl_setopt($ch,CURLOPT_URL, $url);
//CURLOPT_SSL_VERIFYPEER :禁用後cURL將終止從服務端進行驗證。使用 CURLOPT_CAINFO 選項設置證書使用 CURLOPT_CAPATH 選項設置證書目錄 如果 CURLOPT_SSL_VERIFYPEER (默認值為2)被啟用, CURLOPT_SSL_VERIFYHOST 需要被設置成 TRUE 否則設置為 FALSE。備註:自cURL 7.10開始默認為 TRUE 。從cURL 7.10開始默認綁定安裝。
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
//CURLOPT_SSL_VERIFYHOST:1 檢查服務器SSL證書中是否存在壹個公用名(common name)。譯者註:公用名(Common Name)壹般來講就是填寫妳將要申請SSL證書的域名 (domain)或子域名(sub domain)。2 檢查公用名是否存在,並且是否與提供的主機名匹配。
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
//CURLOPT_HEADER:設置header,啟用時會將頭文件的信息作為數據流輸出。
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//CURLOPT_RETURNTRANSFER:將 curl_exec() 獲取的信息以文件流的形式返回,而不是直接輸出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//CURLOPT_POST:啟用時會發送壹個常規的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的壹樣。
curl_setopt($ch, CURLOPT_POST, TRUE);
//CURLOPT_POSTFIELDS:全部數據使用HTTP協議中的"POST"操作來發送。要發送文件,在文件名前面加上@前綴並使用完整路徑。這個參數可以通過urlencoded後的字符串類似'para1=val1¶2=val2&...'或使用壹個以字段名為鍵值,字段數據為值的數組。如果value是壹個數組,Content-Type頭將會被設置成multipart/form-data。
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
//運行curl/執行一個curl會話(唯一的參數是curl_init()函數返回的句柄)
$data = curl_exec($ch);
//返回结果
if($data)
{
//關閉一個curl會話(唯一的參數是curl_init()函數返回的句柄)
curl_close($ch);
return $data;
}
else
{
//返回一個包含當前會話錯誤信息的數字編號
$error = curl_errno($ch);
echo "curl出错,错误码:$error"."<br>";
echo "<a href='http://curl.haxx.se/libcurl/c/libcurl-errors.html'>错误原因查询</a></br>";
curl_close($ch);
return false;
}
}
====================================================================================================
//實例場景(二):微信登錄
function httpGet($url){
$oCurl =curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent =curl_exec($oCurl);
$aStatus =curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
0 0
- curl,用法實例
- curl用法
- Curl 用法
- Curl 用法
- Curl用法
- curl用法
- curl 用法
- curl用法
- CURL 用法
- curl用法
- curl用法
- CURL用法大全
- php curl用法
- curl 命令的用法
- curl用法1
- curl用法2
- php curl用法
- php curl用法
- python 一个简单的依靠文件来判断key是否重复的方法
- 深入研究java.lang.Object类
- Linux 的启动流程
- 1063. Set Similarity (25) 并查集
- kafka学习教程
- curl,用法實例
- 正则表达式相关网址
- iOS新方法systemFontOfSize: weight:
- framework开发中积累的小知识
- SurfaceView你所应该知道的事
- linux tomcat 8080端口 访问不了 centeOS防火墙问题
- android应用程序如何调用支付宝接口
- EasyPusher安卓Android手机直播推送之MediaCodec 硬编码H264格式
- aa