php 实时推送到百度Sitemap的解决办法

内容摘要
这篇文章主要为大家详细介绍了php 实时推送到百度Sitemap的简单示例,具有一定的参考价值,可以用来参考一下。

对【php版】实时推送到百度Sitemap 代码对此感兴趣的朋友,看看id
文章正文

这篇文章主要为大家详细介绍了php 实时推送到百度Sitemap的简单示例,具有一定的参考价值,可以用来参考一下。

对【php版】实时推送到百度Sitemap 代码对此感兴趣的朋友,看看idc笔记做的技术笔记!接口调用地址:http://ping.baidu.com/sitemap?site=www.xxx.com&resource_name=sitemap&access_token=XXXXXXX
参数site 是 string 在站长平台验证的站点,比如www.example.comresource_name 你被允许推送的数据名称,比如RDF_BBS_Thread 或者 sitemapaccess_token 是 string 在站长平台申请的推送用的准入密钥
此方法仅适用于 已经开通了百度 sitemap 权限的站点 页面更新的时候 可以直接ping给百度。 可在百度后台查看反馈码
200 无使用方式错误,需要进一步观察返回的内容是否正确400 必选参数未提供405 不支持的请求方式,我们只支持POST方式提交数据411 HTTP头中缺少Content-Length字段413 推送的数据过大,超过了10MB的限制422 HTTP头中Content-Length声明的长度和实际发送的数据长度不一致500 站长平台服务器内部错误

/**
 * 【php版】实时推送到百度Sitemap 代码
 *
 * @param 
 * @arrange 512-笔记网: www.idcnote.com
 **/
function tobaidu($url){ 
	$ntime=time();
	$now = date('Y-m-d',$ntime);
	$data ='<?xml version="1.0" encoding="UTF-8"?>';
	$data .='   <urlset>';
	$data .='       <url>';
	$data .='           <loc><![CDATA['.$url.']]></loc>';
	$data .='           <lastmod>'.$now.'</lastmod>';
	$data .='           <changefreq>daily</changefreq>';
	$data .='           <priority>0.8</priority>';
	$data .='       </url>';
	$data .='   </urlset>';
	$pingurl=http://ping.baidu.com/sitemap?site=www.xxx.com&resource_name=sitemap&access_token=XXXXXXX;     //你的接口地址
	$curl = curl_init(); // 启动一个CURL会话
	curl_setopt($curl, CURLOPT_URL, $pingurl); // 要访问的地址
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
	curl_setopt($curl, CURLOPT_USERAGENT, "curl/7.12.1"); // 模拟用户使用的浏览器
	curl_setopt($curl, CURLOPT_COOKIE, $cookie);
	curl_setopt($curl, CURLOPT_REFERER,"");
	curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
	curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
	curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
	curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
	$tmpInfo = curl_exec($curl); // 执行操作
	if (curl_errno($curl)) {
	   echo 'Errno'.curl_error($curl);//捕抓异常
	}
	curl_close($curl); // 关闭CURL会话
	return $tmpInfo; // 返回数据
}
$tt= tobaidu(https://www.idcnote.com/);    //要实时推送的网址
echo $tt; //显示反馈码

/***   来自php教程(www.idcnote.com)   ***/

注:关于php 实时推送到百度Sitemap的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!