本篇文章帶給大家的內容是關於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中文網其他相關文章!