google推https几年了,百度开始宣传全面https,但是,百度站内搜索 自己的服务却不走https,接口报错。百度分享也是。

然后采用http://search.zhoulujun.cn/cse/search ,用了7-8个月的样子,还是继续,不声不响地 改变了配置了,突然就不通了——而且什么时候不通的都不知道

无赖,无奈,只有用google 自定义搜索引擎,用api 接口弄好

用google search API配置google站内搜索

谷歌搜索引擎定制化页面地址

https://cse.google.com/cse/setup/basic?cx=009558619093950188775:b3wc7giu_hw

复制 搜索引擎 ID ,保存

拖到最下面,找到

自定义搜索 JSON API

每天的查询数上限为 10000 次。

直接打开连接,可以阅读下内容,了解下

在此https://developers.google.com/custom-search/v1/overview

页面找到 API key,点击 GET A KEY 按钮,

复制key,保存

然后拼凑如下地址:

https://www.googleapis.com/customsearch/v1?q=css&siteSearch=zhoulujun.cn&key=AIzaSyC_pehzzjm8_6lbsegGNgct1-LaACSpvkM&cx=009558619093950188775:b3wc7giu_hw

就是你的谷歌自定义站内搜索引擎

谷歌的就完成了,再来看下百度:

用百度站内搜索api配置百度站内搜索

登录百度站内页面,点击 进入API管理后台

新建搜索引擎,点击 代码示例

在代码里面获取如下代码地址:http://zhannei.baidu.com/api/customsearch/apiaccept?sid=6351075239166713563&v=2.0&callback=init

直接下载,上传自己服务,引用。

然后配置如下代码

    var cse ;    //参数为您的API引擎ID,已自动填写,必需。
    var form=document.querySelector('searchBaidu-bd');//关键词输入框
    var textInput=document.getElementById('bdcsMain');//关键词输入框
    var btnInput=document.getElementById("search");//搜索按钮
    var listBox=document.getElementById("list");//搜索结果列表框
    var exchange=document.getElementById("exchange");//搜索结果列表框
    var exchangeEngine=document.getElementById("exchangeEngine");//搜索结果列表框
    var searchEngine=document.getElementById("searchEngine");//搜索结果列表框
    let params=getUrlParams(window.location.search);
    let initKeyword=params['q'];
    if(initKeyword){
        initKeyword=decodeURIComponent(initKeyword);
        textInput.value=initKeyword;
    }
    var googleEnable=false;
    function getUrlParams(str){
        let obj={};
        str.replace(/([^&=?]+)=([^&=?]*)/g,function (str,$1,$2) {
            obj[$1]=$2;
            return str;
        });         return obj;
    }     function searchBaidu (text) {
        cse.getResult(text, function (data) {
            console.info('百度搜索结果');
            console.log(data);
            createList(data,listBox)
        });
    }     function init () {
        cse= new BCse.Search("6351075239166713563");
        initKeyword&&searchBaidu(initKeyword);
    }     function createList(arr,select){
        var str='';
        if(arr&&arr.length){
            let tempArr = arr.map(function (data) {
                return ' <li class="article-li  ">' +
                    '                <a class="" href="'+data.linkUrl+'" target="_blank">'+data.title+'</a>' +
                    '                <time>'+data.dispTime+'</time>' +
                    '            </li>';
            });
            str=tempArr.join('');
        }else {
            str='<li> 没有找到相关内容——the suitable context had not been found all the time. </li>';
    }         select.innerHTML=str;
        searchEngine.innerHTML='百度';
        exchangeEngine.innerHTML='切换为谷歌搜索';
    }
    btnInput.addEventListener('click',function (e) {
        e.preventDefault();
        var text=textInput.value;
        if(googleEnable){
            text&&searchByGoogle(text);
        }else {
            text&&searchBaidu(text);
        }
    });     exchange.addEventListener('click',function (e) {
        e.preventDefault();
        window.location='?m=search&c=index&a=init&siteid=1&typeid=1&q='+textInput.value;
    });
    exchangeEngine.addEventListener('click',function (e) {
        e.preventDefault();
        var text=textInput.value;
        console.info('exchangeEngine.innerText');
        console.log('__________');
        if(exchangeEngine.innerText==='切换为百度搜索'){
            text&&searchBaidu(text);
            googleEnable=true;
            return false;
        }else {
            text&&searchByGoogle(text);
            googleEnable=false;
            return false;
        }     });     function hndlr(response) {
        // console.log(JSON.stringify(response));
        console.log(response);
        var str='';
        if(response&&response.items&&response.items.length){             let tempArr = response.items.map(function (data) {
                return ' <li class="article-li  ">' +
                    '                <a class="" href="'+data.link+'" target="_blank">'+data.htmlTitle+'</a>' +
                    '            </li>';
            });
            str=tempArr.join('');         }else {
            str='<li>没有找到相关内容</li>';
        }
        listBox.innerHTML=str;
        searchEngine.innerHTML='谷歌';
        exchangeEngine.innerHTML='切换为百度搜索';
    }     function searchByGoogle(keyword){
        $.ajax({
            type: 'GET',
            url: 'https://www.googleapis.com/customsearch/v1',
            data: {
                q: keyword,
                key:'AIzaSyC_pehzzjm8_6lbsegGNgct1-LaACSpvkM',
                cx:'009558619093950188775:b3wc7giu_hw',
                siteSearch: 'zhoulujun.cn'             },
            dataType: 'json',
            success: function (data) {
                console.info('google搜索结果');
                console.log(data);
                googleEnable=true;
                hndlr(data)
            },
            error:function (data) {
                hndlr();
                // let timer=setTimeout(function () {
                //     searchBaidu(textInput.value);
                //     clearTimeout(timer);
                // },800)
            }         });
    }     searchByGoogle(initKeyword);
    /*function setBaidu () {
        var  scriptEle=document.createElement('script');
        scriptEle.src="{JS_PATH_CDN}andy/baidu.zn.js";
        document.body.appendChild(scriptEle);
    }*/

具体代码和效果可以参看:

https://www.zhoulujun.cn/index.php?m=content&c=index&a=lists&catid=204&q=%E6%93%8D

没有做代码优化,只是抽点空把自己网站功能修复而已

按上面的操作的和应该可以配置

百度站内搜索https不可用切换api搜索,加上谷歌api站内搜索的更多相关文章

  1. PHPCMS站内搜索功能实现方法汇总,一文解决PHPCMS站内搜索问题

    1,https://blog.csdn.net/hzw19920329/article/details/80110673 点评:phpcms搜索功能实现方法,作者基于PHPCMS做个门户网站实现站内搜 ...

  2. 我的B站主页:https://space.bilibili.com/611212 内有视频题解

    我的B站主页:https://space.bilibili.com/611212 内有视频题解

  3. WordPress整站轻松开启HTTPS

    近两年来HTTPS取代HTTP已经成为大势所趋.早在2014年google Chromium安全团队提议将所有的HTTP协议网站标注为不安全.现在,Chrome浏览器已经开始执行这一标准了.从 Chr ...

  4. 【百度地图API】如何区分地址解析和智能搜索?

    原文:[百度地图API]如何区分地址解析和智能搜索? 摘要: 很多用户一直无法区分地址解析geocoder和智能搜索localsearch的使用场景.该文章用一个详尽的示例,充分展示了这两个类,共5种 ...

  5. centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课

    centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln   ...

  6. 百度分享不支持https的解决方案

    站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...

  7. 搭建实时同步data guard的最高可用-切换主备

    搭建实时同步data guard的最高可用-切换主备 首先保证主库在归档模式下:错过N次了 准备二台机器(hostname gw hosts ech0)host-only [root@node1 ~] ...

  8. 【百度地图API】如何制作公交线路的搜索?如331路

    原文:[百度地图API]如何制作公交线路的搜索?如331路 摘要: 从A点到B点的公交导航大家都知道怎么做了,那么单独查询331路公交车的公交路线,如何制作呢?我们一起来学习一下~ --------- ...

  9. 百度分享不支持Https的解决方案--本地化

    站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...

随机推荐

  1. TreeMap 的排序冲突吗

    今天在网上看到一个问题:一个已经构建好的 TreeSet,怎么完成倒排序? 网上给出的答案是: 通过TreeSet构造函数传入一个比较器,指定比较器进行排序为原排序的倒叙. TreeSet的自然排序是 ...

  2. [Sublime]Sublime安装以及插件使用

    安装直接去官网下载安装了 安装Package Control关于安装Package Control,有两种方法. 一.自动安装 自动安装很方便,网上代码很多.我用的是Sublime Text3,通过V ...

  3. tap穿透之zepto的bug

    一.什么是zepto tap事件穿透?tap事件穿透就是,页面和弹框上都有绑定点击事件,最上层的弹框绑定了tap事件,下层的页面绑定了click事件,在执行完上层事件后会紧接着触发下层事件,进而出现事 ...

  4. open

    open服务指的是封装的订单流接口,给外部第三方提供使用.(当然也可以区别的名字,我司这么叫而已,并且是用Java写的,谁晓得为什么不选择PHP来写)通过open api合作方就可以通过调用接口直接下 ...

  5. Everything at Once

    Everything at Once As sly as a fox as strong as an ox ♥ sly 英 [slaɪ] 美 [slaɪ] adj. 狡猾的:淘气的:诡密的 比较级 s ...

  6. HTML4入门

    这篇来介绍下超链接和网站架构,做好准备要开始了! 超链接:从一个文档链接到另一个文档,也可以式文档的指定部分及文档内跳转,也俗称设置锚点:点击超链接将使网络浏览器跳转到另一个网址.url可以指向HTM ...

  7. (92)Wangdao.com_第二十五天_线程机制_H5 Web Workers 分线程任务_事件 Event

    浏览器内核 支撑浏览器运行的最核心的程序 IE 浏览器内核            Trident内核,也是俗称的IE内核Chrome 浏览器内核            统称为 Chromium 内核或 ...

  8. BOM 浏览器对象模型_同源限制

    “同源政策”(same-origin policy) 浏览器安全的基石 协议相同 域名相同 端口相同 1995年,同源政策由 Netscape 公司引入浏览器.目前,所有浏览器都实行这个政策 A 网页 ...

  9. [LeetCode] Insert into a Binary Search Tree 二叉搜索树中插入结点

    Given the root node of a binary search tree (BST) and a value to be inserted into the tree, insert t ...

  10. 在 CentOS7 安装 ELK

    ELK是一个成熟的日志系统,主要功能有收集.分析.检索,详细见 elastic官网. 本文主要介绍如何在CentOS7下安装最新版本的ELK,当然现在docker已经有完全配置成功的elk容器,安装配 ...