1原百度JS链接推送代码

首先我们来看一下原百度JS链接推送代码是这*样的

用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用。安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。

当有用户访问你的网页时,这个脚本就会从百度下载一个1x1的gif,同时记录页面此时此刻的URL地址。

2自动推送脚本的分析

通过这段脚本我们可以看出:

1、它先是判断了目前的协议类型是https还是其他类型(如,http,ftp等)

2、然后下载了百度官方的一个js文件

3、再然后它将js文件的内容生成一个脚本块插入到当前页面中

4、最后会运行这个脚本块 我们可以访问这两个js文件查看其内容,也就是短短的一行。它会读取这样一个gif。 https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif 或者http://api.share.baidu.com/s.gif 同时将window.location.href等信息推送给了百度。

点开那个s.gif你会发现有两个请求参数之Query String Parameters 一个:r一个:l

分析r:既是Referer来源 l:则是要推送的url

3百度批量推送代码

通过上面分析,大胆猜测是不是我们通过那个s.gif就可以自定义推送我们的url页面地址

<script type="text/javascript">
var list = document.getElementsByTagName("a");
var n = "http//api.share.baidu.com/s.gif";
var ns = "https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif";
var r = window.location.href;
var url = [];
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
for(var i=0;i<list.length;++i){
url.push(ns+'?l='+encodeURIComponent(list[i].href));
}
} else {
for(var i=0;i<list.length;++i){
url.push(n+'?r='+r+'&l='+encodeURIComponent(list[i].href));
}
}
for(var i=0;i<list.length;++i){
var t = new Image;
t.src = url[Math.round(Math.random() * list.length)];
};
</script>

推送原理,原推送代码当有人访问你的页面时即推送本页面(这个大家应该都懂)。批量版,当有人访问你的页面是则推送本页面上所有的URL,已加入https支持

原文出处:http://www.newbii.cn/20191211091111.htm

百度链接提交-js代码推送批量推送版的更多相关文章

  1. 链接提交-js代码推送进化版

    百度站长平台提供链接索引的自动提交JS脚本已经有一段时日了.用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏览器.微信.微博 ...

  2. SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版

    上次改编了一下百度的JS推送代码,实现了批量推送 传送门>>>百度链接提交-js代码推送批量推送版 这次我们来研究360js自动推送代码. <script> (funct ...

  3. 百度链接提交-主动推送Python版

    百度目前提供自动提交链接和手动提交链接两种方式,其中自动提交又分为主动推送.自动推送和sitemap三种形式,按百度的说法,主动推送的效果最好,百度站长平台后台也提供了curl.php.ruby的推送 ...

  4. 如何添加商*通新对话快捷链接?不用js代码

    我们在使用商务通一般都是在页面中嵌入一段js代码,如果您是js洁癖,是不是在想着如何直接用一张小图加上商*通新对话链接来代替呢?好,那就一起来研究一下吧. 首先,我们打开一个有商*通js弹窗的页面,比 ...

  5. 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全

    下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码:  document.writeln("<b>喜欢本文,那就分享到 ...

  6. 微信分享朋友链接显示js代码

    通常自己做的一个页面想通过微信像朋友分享时,展示的标题和描述都是不是自己想要的,自己查了一些资料,原来是通过js来进行控制 展示效果如下: 标题.描述.还有分享的图片都是有js来控制的. js代码如下 ...

  7. 百度链接提交主动推送 c#实现

    说明:此方法适合百度站长,利用此方法可以第一时间将你的原创文章上传到百度,保护你的著作权,也可以帮你的网站进行引流 以下是代码实现: /// <summary>         /// 提 ...

  8. Vs中提交了代码但是不想推送到Git中

    1:首先就是我fix code 是要提交上去的,所以我就开始提交呢,但是,一看提交后,还没有推送到git就是现在下面的这个状态 上面这个是==> 这是先新增的文件,第一步.但是第一步就差推送了, ...

  9. 百度网页分享js代码

    1.小图标 <div class="bdsharebuttonbox"> <a href="#" class="bds_qzone& ...

随机推荐

  1. java中数组输出的方式

    方式1:遍历输出 public class Main { public static void main(String[] args) { int[] ns = { 1, 4, 9, 16, 25 } ...

  2. java csv文件写入

    List<String> list_code = null; 方案1 控制字符集: BufferedWriter bw=new BufferedWriter(new OutputStrea ...

  3. 自己写个tween

    public Vector3 begin,end;//起始终止坐标 public float BtoE_time;//用时 float timer,lerp;//计时器和进度值 void Update ...

  4. C# 控件缩写规范

    标准控件缩写规范 类 型 前 缀 示 例 Adrotator adrt adrtTopAd BulletedList blst blstCity Button btn btnSubmit Calend ...

  5. Codeforces 1111C Creative Snap分治+贪心

    Creative Snap C. Creative Snap time limit per test 1 second memory limit per test 256 megabytes inpu ...

  6. Linux学习-预习第五六七章节关于用户权限管理以及磁盘文件系统

  7. js generator的两个实际应用

    generator作为一个用来操作异步的状态机, 遇到yield停止, 通过调用next()来继续操作.  今天就用generator来举例两个实际开发中的应用. 1,抽奖 function draw ...

  8. linux下操作oracle

    ps -ef|grep ora #查看oracle状态 lsnrctl status #查看监听的状态 lsnrctl start |stop |reload #启动|停止|重启 监听 登录oracl ...

  9. 137-PHP static修饰的类属性

    <?php class test{ //定义一个类 public static $num=0; //定义static修饰的类属性 public function __construct(){ / ...

  10. 115-PHP实例化和不实例化输出类常量

    <?php class boy{ //定义男孩类 const sex='男'; public $age=15; } echo '不实例化对象输出类常量:'.boy::sex; $boy=new ...