有人要,我就单独从主题提取出来了! 原来有百度自动图推送有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']);
前面的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 '文章状态:已收录~'; }