网页制作 
首页 > 网页制作 > 浏览文章

百度站内搜索不支持https的解决方法(已测试)

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )

最近手机端开启了https,为了绿锁需要解决如下问题:

1、图片

2、js

3、css样式

4、form查询也要用https

第一种方法:通过js实现

但是最近做一个客户需求的时候突然想到了一个曲线求国的办法,反正我测试百度站内搜索在https网站上是能用了,而且方法特别的暴力...

思路就是,做一个input,做一个button,在input里面输入关键词,用js控制点击button直接打开百度站内搜索url+关键词。反正能用了,我也不知道这么干对不对。。。

上代码:

<input type="text" name="q" id="bdcsMain" value="百度站内搜索" onfocus="if (value =='百度站内搜索'){value =''}" onblur="if (value ==''){value='百度站内搜索'}" >
 <button class="search-submit" id="btnPost" type="submit" onclick="window.open('http://zhannei.baidu.com/cse/search?s=1849457021752692468&entry=1&q='+document.getElementById('bdcsMain').value)">搜索</button>

只需要复制你百度站内搜索结果页的url替换掉上面代码中的“http://zhannei.baidu.com/cse/search?s=1849457021752692468&entry=1&q=”就OK了。

第二种方法:通过php跳转实现

搜索代码不是js的

<form action="http://so.jb51.net/cse/search" method="get" target="_blank" class="bdcs-search-form" id="bdcs-search-form">
		<input name="s" value="10520733385329581432" type="hidden">
        <input name="entry" value="1" type="hidden">
        <input name="ie" value="gbk" type="hidden">
        <input name="nsid" value="3" type="hidden">
        <input name="ie" value="gbk" type="hidden">
<input type="text" placeholder="请输入您感兴趣的关键字" value="" id="search_txt1" maxlength="18" class="search_txt" name="q">
<input class="search_btn" value="搜 索" type="submit">
</form>

修改以后将action换成本地的php文件

<div class="search">
<form action="/do/search.php" method="get" target="_blank" class="bdcs-search-form" id="bdcs-search-form">
		<input name="s" value="10520733385329581432" type="hidden">
        <input name="entry" value="1" type="hidden">
        <input name="ie" value="gbk" type="hidden">
        <input name="nsid" value="3" type="hidden">
        <input name="ie" value="gbk" type="hidden">
<input type="text" placeholder="请输入您感兴趣的关键字" value="" id="search_txt1" maxlength="18" class="search_txt" name="q">
<input class="search_btn" value="搜 索" type="submit">
</form>
</div>

search.php如下

<?php
error_reporting(E_ALL & ~E_NOTICE);
$s=is_numeric($_GET['s'])?$_GET['s']:0;
$entry=$_GET['entry']?intval($_GET['entry']):0;
$nsid=$_GET['nsid']?intval($_GET['nsid']):0;
$ie=$_GET['ie']?substr($_GET['ie'],0,3):0;
$q=$_GET['q']?urlencode($_GET['q']):'';
$url_str="http://so.jb51.net/cse/search?s=$s&entry=$entry&ie=$ie&nsid=$nsid&ie=$ie&q=$q";
header("Location: $url_str");
?>

这样就完成了,大家可以根据需要自行修改。第二种方法原创文章,希望大家多多支持我们。

上一篇:Vendor Prefix:为什么需要浏览器引擎前缀
下一篇:Https页面使用百度分享的解决方法