PHP版訪客訪問文章自動推送百度資源平臺,增加收錄
阿新 • • 發佈:2021-06-17
前言
有人要,我就單獨從主題提取出來了! 原來有百度自動圖推送有js版本,現在好像不能用了。我就隨便整了個PHP版本的效果還是一樣的!
效果圖
自動推送程式碼
這個是判斷文章是否已經收錄。未收錄推送以收錄不推送以免造成重複推送!!
<?php $cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; function okBaidu($url){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); if(!strpos($rs,'提交網址')){ echo "文章狀態:已收錄~"; }else{ $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; $urls = array( $pageURL ); $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD'; //自行修改 百度 介面呼叫地址 $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); //第二種的返bai結果是以json形式。 $res=json_decode(curl_exec($ch),true); $ed = ($res['remain']);//起作用 $cg = ($res['success']);//起作用 echo "文章狀態:未收錄,以推送~ 【今日剩餘額度:$ed 條】"; } } echo okBaidu($cxurl); ?>
不判斷是否收錄
這種是無腦死推版本,管你收錄沒收錄就死推送 哈哈!
$pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; $urls = array( $pageURL ); $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD'; //自行修改 百度 介面呼叫地址 $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); //第二種的返bai結果是以json形式。 $res=json_decode(curl_exec($ch),true); $ed = ($res['remain']);//起作用 $cg = ($res['success']);//起作用 echo "文章狀態:未收錄,以推送~ 【今日剩餘額度:$ed 條】";
一些引數
狀態碼為200,可能返回以下欄位:
欄位 | 是否必選 | 引數型別 | 說明 |
---|---|---|---|
success | 是 | int | 成功推送的url條數 |
remain | 是 | int | 當天剩餘的可推送url條數 |
not_same_site | 否 | array | 由於不是本站url而未處理的url列表 |
not_valid | 否 | array | 不合法的url列表 |
呼叫方法: $ed = ($res['remain']);
更新
- 2021.2.25
前面的php查詢文章百度是否收錄,很不穩定,於是改成API介面查詢收錄!
注意:伺服器需要啟用 file_get_contents
不懂的請百度不過多介紹
$cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $cx=file_get_contents('https://api.btstu.cn/bdsite/api.php?url='.$cxurl); $arr = json_decode($cx, true); $pd= $arr['msg']; if($pd == '該網址未收錄') { $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; $urls = array( $pageURL ); $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD'; $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); //第二種的返bai結果是以json形式。 $res=json_decode(curl_exec($ch),true); $ed = ($res['remain']);//起作用 $cg = ($res['success']);//起作用 echo "百度資源平臺:推送成功~ 【今日剩餘額度:$ed 條】"; } else{ echo '文章狀態:已收錄~'; }