PHP利用curl發(fā)送HTTP請求的實例代碼
cURL 函數(shù)概述
PHP支持的由Daniel Stenberg創(chuàng)建的libcurl庫允許你與各種的服務(wù)器使用各種類型的協(xié)議進行連接和通訊。
libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap協(xié)議。libcurl同時也支持HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴展完成)、HTTP 基于表單的上傳、代理、cookies和用戶名+密碼的認證。
PHP中使用cURL實現(xiàn)Get和Post請求的方法
這些函數(shù)在PHP 4.0.2中被引入。
實例
因為需要在 php 開發(fā)中對接其它接口需要用 php curl 去對接其它接口 我把他們封裝成函數(shù) 希望能對大家有所幫助。
這里面是封裝好的會自動把 data 進行轉(zhuǎn)成 json 格式,同時解碼成 php 數(shù)組輸出。
<?php
function geturl($url){
$headerArray =array("Content-type:application/json;","Accept:application/json");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output,true);
return $output;
}
function posturl($url,$data){
$data = json_encode($data);
$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return json_decode($output,true);
}
function puturl($url,$data){
$data = json_encode($data);
$ch = curl_init(); //初始化CURL句柄
curl_setopt($ch, CURLOPT_URL, $url); //設(shè)置請求的URL
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //設(shè)為TRUE把curl_exec()結(jié)果轉(zhuǎn)化為字串,而不是直接輸出
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT"); //設(shè)置請求方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//設(shè)置提交的字符串
$output = curl_exec($ch);
curl_close($ch);
return json_decode($output,true);
}
function delurl($url,$data){
$data = json_encode($data);
$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,$put_url);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output,true);
}
function patchurl($url,$data){
$data = json_encode($data);
$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data); //20170611修改接口,用/id的方式傳遞,直接寫在url中了
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output);
return $output;
}
?>
以上就是PHP利用curl發(fā)送HTTP請求的實例代碼的詳細內(nèi)容,更多關(guān)于PHP 發(fā)送HTTP請求的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ThinkPHP框架中使用Memcached緩存數(shù)據(jù)的方法
這篇文章主要介紹了ThinkPHP框架中使用Memcached緩存數(shù)據(jù)的方法,結(jié)合實例形式分析了thinkPHP框架中Memcached緩存的設(shè)置與使用相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法
這篇文章主要介紹了php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法,簡單分析了Token驗證失敗及請求URL超時的原因及相關(guān)解決方法,需要的朋友可以參考下2016-09-09
Yii2使用dropdownlist實現(xiàn)地區(qū)三級聯(lián)動功能的方法
這篇文章主要介紹了Yii2使用dropdownlist實現(xiàn)地區(qū)三級聯(lián)動功能的方法,結(jié)合實例形式較為詳細的分析了dropdownlist下拉列表實現(xiàn)三級聯(lián)動調(diào)用的具體步驟與相關(guān)注意事項,需要的朋友可以參考下2016-07-07
php結(jié)合redis高并發(fā)下發(fā)帖、發(fā)微博的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp結(jié)合redis高并發(fā)下發(fā)帖、發(fā)微博的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12

