在很多時(shí)候,我們都需要請(qǐng)求第三方的服務(wù)器來(lái)獲取一些數(shù)據(jù),比如token,比如百度的主動(dòng)推送,那么我們的php如何實(shí)現(xiàn)向第三方服務(wù)器發(fā)請(qǐng)求呢?我們可以通過(guò)curl來(lái)實(shí)現(xiàn)
首先定義請(qǐng)求的url,然后創(chuàng)建httpHeader的頭,定義通過(guò)post方式發(fā)送請(qǐng)求的參數(shù):
初始化curl:
$url= URL地址 //然后創(chuàng)建httpHeader的頭:$httpHeader=createHttpHeader();//定義通過(guò)post方式發(fā)送請(qǐng)求的參數(shù):$curlPost= userId= .$userId. name= .$nickName. portraitUri= .$headImg;//初始化curl:$ch=curl_init();undefined
發(fā)送請(qǐng)求:
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
接收返回的數(shù)據(jù):$data=curl_exec($ch);關(guān)閉curl:curl_close($ch);這樣就通過(guò)curl完成了一次post請(qǐng)求,并獲取到了返回的數(shù)據(jù)。
完整PHP源碼如下:
$url= 請(qǐng)求的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通過(guò)curl向其它服務(wù)器發(fā)請(qǐng)求并返回?cái)?shù)據(jù)(代碼示例)的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選