在很多時候,我們都需要請求第三方的服務器來獲取一些數據,比如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教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答