/**
* PHP检测URL地址百度是否已经收录
* @param string $url 要检测的URL地址
*/
function Baidu($url) {
$url = 'http://www.baidu.com/s?wd=' . urlencode($url);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$content= curl_exec($curl);
curl_close($curl);
if (!strpos($content, '没有找到')) { //没有找到说明已被百度收录
return false;
} else {
return true;
}
}

食用方法

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//当前页面URL地址

然后我们就可以根据Baidu($url);返回值判断该URL是否已经收录再实行自主推送

以下是php百度主动推送示例,可直接推送百度mip

//引入测验百度是否收录并加载代码的函数
function baidu_php_push($url){
$check = Baidu($url);
if($check==false){
$urls[]=$url;
$api = 'http://data.zz.baidu.com/urls?site=你的推送接口';
$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;
}
}

或者js自动推送

//引入测验百度是否收录并加载代码的函数
function baidu_js_push($url){
$check = Baidu($url);
if($check==false){
echo "<script>(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
} else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(bp, s);
})();
(function(){
var src = (document.location.protocol == 'http:') ? 'http://js.passport.qihucdn.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7':'https://jspassport.ssl.qhimg.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7';
document.write('<script src=\"' + src + '\" id=\"sozz\"><\/script>');
})();</script>";
}
}

最新文章

  1. ArcSDE安装步骤及问题
  2. Struts2复习笔记
  3. HashTable、HashSet和Dictionary的区别
  4. iOS腾讯百度面试题
  5. Git设置及GitHub的使用
  6. Unity3d 读取网络xml
  7. set echo on/off,set term on/off,set feedback off,set heading off命令(转)
  8. CentOS-Desktop版service network restart报错
  9. android开发_ViewGroup(组视图)-- 五大布局
  10. 第一个VS2015 Xaramin Android项目(终)
  11. Swift 中 insetBy(dx: CGFloat, dy: CGFloat) -&gt; CGRect 用法详解
  12. C++ 实现 split 操作
  13. hdu-6035 Colorful Tree
  14. 2.5 UML顺序图
  15. ArcGIS案例学习笔记-批量裁剪地理模型
  16. Inviting Friends(hdu3244 &amp;&amp; zoj3187)完全背包+二分
  17. C#--类成员
  18. DevExpress gridcontrol学习知识点
  19. SharePoint 事件 7363:对象缓存:缓存使用的超级读者帐户没有足够的权限访问SharePoint数据库。
  20. CloudStack 4.3功能前瞻

热门文章

  1. 利用actionscript访问wfs服务
  2. ViewPager+fragment的使用
  3. 【起航计划 033】2015 起航计划 Android APIDemo的魔鬼步伐 32 App-&gt;Service-&gt;Foreground Service Controller service使用,共享service,前台服务,onStartCommand
  4. JSTL格式化标签库
  5. maven学习(二)maven常用的命令
  6. Android学习——Fragment静态加载
  7. Git 还没push 前可以做的事(转)
  8. github desktop项目版本控制
  9. Android(java)学习笔记12:线程的状态转换图以及常见执行情况
  10. BZOJ2648/2716:SJY摆棋子/[Violet]天使玩偶(K-D Tree)