在調(diào)用微信公眾平臺的創(chuàng)建自定義菜單接口來創(chuàng)建自定義菜單時遇到一個大坑,php curl返回false一直無法調(diào)試通過,代碼如下:
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,阿克蘇網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:阿克蘇等地區(qū)。阿克蘇做網(wǎng)站價格咨詢:13518219792
//創(chuàng)建菜單
public function menu_create($data){
$url =" https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$this->get_access_token()}";
echo $url.'----------<br>';return $this->https_request($url,$data); } //查詢菜單
封裝的curl請求函數(shù):
/*
模擬發(fā)送get 和 post 請求
*/
public function https_request($url,$data=""){
//curl初始化
$ch=curl_init();
//設(shè)置傳輸?shù)刂?br/>curl_setopt($ch,CURLOPT_URL,$url);
//以文件流形式返回數(shù)據(jù)
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//如有數(shù)據(jù)要發(fā)送,選用post方式提交
if($data){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
}
//發(fā)送請求,返回數(shù)據(jù)
$request =curl_exec($ch);
$arrTmp =json_decode($request,TRUE);
// $this->count =$this->count + 1;
// echo "<pre>";
// var_dump($arrTmp);
// echo "</pre>";
// echo $this->count.'---------';
//關(guān)閉curl
curl_close($ch);
if(is_array($arrTmp)){
return $arrTmp;
}else{
return $request;
}
}
后比對了以前成功調(diào)試的代碼:
$url =" https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$this->get_access_token()}";
發(fā)現(xiàn)$url中鏈接字符串前多了一個空格!后來查證:在curl請求的url中包含了空格。注意,是包含了空格,也就是說在url的任何一個位置都不行。如果有則curl返回的結(jié)果就是false。然后我使用curl_error($ch)來獲取可視獲取的結(jié)果為string ""也就是空字符串。所以這個就有點兒難判斷了。最后發(fā)現(xiàn)是url中有了一個空格。
總結(jié):使用curl來請求數(shù)據(jù)時curl的url地址中的任何地方不能有空格存在!
當前名稱:phpcurl返回false----curl調(diào)用微信創(chuàng)建自定義菜單返回false
URL地址:http://aaarwkj.com/article30/gjcepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、云服務(wù)器、App設(shè)計、響應(yīng)式網(wǎng)站、面包屑導航、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)