PHP判断URL地址百度是否已经收录并主动提交MIP数据
2024-10-19 19:57:31
/**
* 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>";
}
}
最新文章
- ArcSDE安装步骤及问题
- Struts2复习笔记
- HashTable、HashSet和Dictionary的区别
- iOS腾讯百度面试题
- Git设置及GitHub的使用
- Unity3d 读取网络xml
- set echo on/off,set term on/off,set feedback off,set heading off命令(转)
- CentOS-Desktop版service network restart报错
- android开发_ViewGroup(组视图)-- 五大布局
- 第一个VS2015 Xaramin Android项目(终)
- Swift 中 insetBy(dx: CGFloat, dy: CGFloat) ->; CGRect 用法详解
- C++ 实现 split 操作
- hdu-6035 Colorful Tree
- 2.5 UML顺序图
- ArcGIS案例学习笔记-批量裁剪地理模型
- Inviting Friends(hdu3244 &;&; zoj3187)完全背包+二分
- C#--类成员
- DevExpress gridcontrol学习知识点
- SharePoint 事件 7363:对象缓存:缓存使用的超级读者帐户没有足够的权限访问SharePoint数据库。
- CloudStack 4.3功能前瞻
热门文章
- 利用actionscript访问wfs服务
- ViewPager+fragment的使用
- 【起航计划 033】2015 起航计划 Android APIDemo的魔鬼步伐 32 App->;Service->;Foreground Service Controller service使用,共享service,前台服务,onStartCommand
- JSTL格式化标签库
- maven学习(二)maven常用的命令
- Android学习——Fragment静态加载
- Git 还没push 前可以做的事(转)
- github desktop项目版本控制
- Android(java)学习笔记12:线程的状态转换图以及常见执行情况
- BZOJ2648/2716:SJY摆棋子/[Violet]天使玩偶(K-D Tree)