首頁  >  文章  >  後端開發  >  PHP透過curl向其它伺服器發送請求並傳回資料(程式碼範例)

PHP透過curl向其它伺服器發送請求並傳回資料(程式碼範例)

不言
不言轉載
2019-01-15 11:49:253422瀏覽

本篇文章帶給大家的內容是關於PHP透過curl向其它伺服器發送請求並返回資料(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

在很多時候,我們都需要請求第三方的伺服器來取得一些數據,例如token,例如百度的主動推送,那麼我們的php如何實現向第三方伺服器發送請求呢?我們可以透過curl來實作

先定義請求的url,然後建立httpHeader的頭,定義透過post方式發送請求的參數:

初始化curl:

$url="URL地址";
//然后创建httpHeader的头:
$httpHeader=createHttpHeader();
//定义通过post方式发送请求的参数:
$curlPost="userId=".$userId."&name=".$nickName."&portraitUri=".$headImg;
//初始化curl:
$ch=curl_init();undefined

傳送請求:

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HTTPHEADER,$httpHeader);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
curl_setopt($ch,CURLOPT_DNS_USE_GLOBAL_CACHE,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);undefined

接收傳回的資料:$data=curl_exec($ ch);關閉curl:curl_close($ch);這樣就透過curl完成了一次post請求,並且取得到了回傳的資料。

完整PHP原始碼如下:

$url="请求的URL地址";
$httpHeader=createHttpHeader();
$curlPost="userId=".$userId."&name=".$nickName."&portraitUri=".$headImg;
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HTTPHEADER,$httpHeader);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
curl_setopt($ch,CURLOPT_DNS_USE_GLOBAL_CACHE,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$data=curl_exec($ch);
curl_close($ch);undefined

以上是PHP透過curl向其它伺服器發送請求並傳回資料(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除