對於百度熊掌號專業問答的URL推送,百度提供了多種URL推送方式,之前詳細寫過怎樣通過CURL命令方式推送,但是後來百度修改了api地址,URL中出現了漢字,CURL方式推送就會報錯,下面php中文網(www.php.cn)為大家介紹另一種比較簡單的方法推送:PHP方式,請各位站長門參考(懂PHP技術的請略過~~)
第一步:頁面改造
詳情可以直接查看百度熊掌號後台,搜尋資源移動專區中專業問答模組。
第二步:API提交
#PHP推送範例:
具體步驟:
1. 首先我們將以下程式碼儲存為PHP文件,命名例如baiduxiongzhang.php。
註:其中$api參數需要修改為你自己的介面資料。
大家把以下完整程式碼,複製保持為.php檔案格式,然後把裡面的api位址換成自己的,就可以啦! (適合單一URL提交)
<?php $url = isset($_GET['url']) ? $_GET['url'] : ''; if(!$url){ echo '没有地址参数';exit; } $urls = array(0=>$url); $api = 'http://data.zz.baidu.com/urls?appid=xxxx&token=xxxx&type=qa&domain=教育'; $ch = curl_init(); $options = array( CURLOPT_URL => $api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result;
2. 然後將baiduxiongzhang.php上傳到網站根目錄下,並在瀏覽器上存取此PHP文件,會出現如下所示:
3. 我們再透過以下連結實現專業問答推送:
http://www.xxx.com/baiduxiongzhang.php?url=
推送連結的格式是:你的網站網域baiduxiongzhang.php? url=要推送的文章或頁面連結
例如我們要推送這個頁面:m.php.cn/tags/tag-applet.html,就可以在如下所示進行推送
http://www.xxx.com/baiduxiongzhang.php?url=m.php.cn/tags/tag-applet.html
4. 成功推送後,返回以下訊息:
#附:上述PHP程式碼說明:
首先我們透過isset函數初始化推送鏈接,如果沒有設定參數則返回上圖中「沒有位址參數」的訊息,再用curl_init()函數初始化cURL會話。並且設定option參數的值如下:
CURLOPT_URL: 這是你想用PHP取回的URL位址。
CURLOPT_POST:設定為TRUE 時表示會傳送 POST 要求,類型為:application/x-www-form-urlencoded,也是 HTML 表單提交時最常見的一種。
CURLOPT_RETURNTRANSFER :設定為true表示將curl_exec()取得的資訊以字串傳回,而不是直接輸出。
CURLOPT_POSTFIELDS : 傳遞一個作為HTTP “POST”操作的所有資料的字串。
CURLOPT_HTTPHEADER:設定自訂HTTP標頭
最後透過curl_setopt_array函數為cURL傳輸會話批次設定選項,以及透過curl_exec函數執行cURL會話。
那麼專業問答成功推送後,回饋的參數表示:
success、success_qa:表示成功推送的url條數
remain、remain_qa :表示當天剩餘的可推送url條數
相關推薦:
1.《百度熊掌號資源平台URL連結提交使用curl指令推送範例(安裝設定圖文步驟)》
2. 《2019 PHP影片教學》
以上是百度熊掌號專業問答PHP方式推送完整程式碼(附說明)的詳細內容。更多資訊請關注PHP中文網其他相關文章!