用Head方法获得百度搜索结果的真实地址

时间:2023-02-03 16:16:18

用Head方法获得百度搜索结果的真实地址

在百度中搜索“Java”,第一条结果的链接为:

https://www.baidu.com/link?url=HBOOMbhPKH4SfI0vCLVSSJ3W1eNGX1wjwg6q4hna6L3&wd=&eqid=f7bdf9e40005b5820000000357e76187

因此需要设法将其转换为真实的网站链接:http://www.java.com/

用Head方法获得百度搜索结果的真实地址

思路很简单:

  1. 使用 HTTP HEAD方法 ,会返回302 Move Permanently
  2. 在Respons Headers中查看Location中的内容,即为要跳转到的真实地址。

使用命令行工具HttpIE试验如下:

E:\>http head https://www.baidu.com/link?url=HBOOMbhPKH4SfI0vCLVSSJ3W1eNGX1wjwg6q4hna6L3&wd=&eqid=f7bdf9e40005b5820000000357e76187
HTTP/1.1 302 Moved Temporarily
BDPAGETYPE: 3
Cache-Control: no-cache, must-revalidate
Connection: keep-alive
Content-Length: 215
Content-Type: text/html;charset=utf8
Date: Sun, 25 Sep 2016 05:40:07 GMT
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Location: http://www.java.com/
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDSVRTM=0; path=/
X-UA-Compatible: IE=Edge,chrome=1
X-XSS-Protection: 1;mode=block

最后编写Java代码如下:

public static String getRealLinkFromBaiduLink(String link){
// 需要注意的是,这里必须 disableRedirectHandling,否则会自动进行地址的跳转
CloseableHttpClient httpClient = HttpClients.custom().disableRedirectHandling().build();
// 这里可以使用Http Head 方法
HttpHead httpHead = new HttpHead(link);
try (CloseableHttpResponse response = httpClient.execute(httpHead)) {
int status = response.getStatusLine().getStatusCode();
if (status == 302) {
return response.getFirstHeader("Location").getValue();
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
}
}

用Head方法获得百度搜索结果的真实地址的更多相关文章

  1. 百度乐播音乐真实地址查找api接口

    1.百度乐播官网:http://lebo.baidu.com: 随便点击进去一个音乐界面,如:http://lebo.baidu.com/album/9036366 2.chrome浏览器右击'检查' ...

  2. 获取百度搜索结果的真实url以及摘要和时间

    利用requests库和bs4实现,demo如下: #coding:utf- import requests from bs4 import BeautifulSoup import bs4 impo ...

  3. 百度搜索URL参数 搜索关键字

    http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...

  4. 百度搜索URL参数你知道多少

    http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...

  5. 百度搜索URL参数

    http://www.baidu.com/s?wd=关键字wd(Keyword):查询的关键词:http://www.baidu.com/s?wd=关键字&cl=3cl(Class):搜索类型 ...

  6. 百度搜索常用api

    http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词:http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜索 ...

  7. Chrome谷歌浏览器屏蔽百度搜索右侧广告推荐方法

    先上图百度广告,其实屏蔽广告很简单 主要分成以下三步: 下载Adblock Plus插件 安装Adblock Plus插件 开启屏蔽 一.下载Adblock Plus插件(官网离线版) 二.安装Adb ...

  8. 使用python抓取百度搜索、百度新闻搜索的关键词个数

    由于实验的要求,需要统计一系列的字符串通过百度搜索得到的关键词个数,于是使用python写了一个相关的脚本. 在写这个脚本的过程中遇到了很多的问题,下面会一一道来. ps:我并没有系统地学习过pyth ...

  9. 利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。

    打开百度输入  站内搜索也要实现类似功能.最基础的做法,写个方法查数据库搜索历史综合表keywordSearch(先将被搜索过的关键字记录到一张表,记录好他们被搜索的次数.上次搜索的有多少结果) 大概 ...

随机推荐

  1. 全文检索解决方案(lucene工具类以及sphinx相关资料)

    介绍两种全文检索的技术. 1.  lucene+ 中文分词(IK) 关于lucene的原理,在这里可以得到很好的学习. http://www.blogjava.net/zhyiwww/archive/ ...

  2. PHPMyAdmin弱口令猜解【Python脚本】

    PHPMyAdmin弱口令猜解 测试截图: 代码片段 #! /usr/bin/env python # _*_ coding:utf-8 _*_ import requests import time ...

  3. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

  4. Linux设备文件自动生成

    第一种是使用mknod手工创建:# mknod <devfilename> <devtype> <major> <minor> 第二种是自动创建设备节点 ...

  5. 我的django之旅(四)模型,模板和视图

    一.结合模型,视图和模板 1.数据和模板结合 基本工作流程: (1)在views.py文件中导入我们创建的models (2)在视图函数中使用models,进行crud操作. (3)将取得的数据存入t ...

  6. IDisposeable&comma;Close

    一.资源分类 资源分为托管资源和非托管资源. 非托管资源:所有的windows内核对象(句柄)都是非托管资源,如stream,数据库连接,GDI+和COM对象等,这些资源不受CLR管理. 托管资源:由 ...

  7. ScrollView &amp&semi; HorizontalScrollView

    可垂直或水平滚动的列表 ScrollView & HorizontalScrollView内部只能有一个直接的子元素, <?xml version="1.0" enc ...

  8. Gephi 网络图可视化工具

      官网:         https://gephi.org/   背景:         Gephi 是一款开源,免费, 跨平台的的graph 和 network 可视化工具,同时也提供了数据挖掘 ...

  9. react-router V4中的url参数

    概述 之前写过react在router中传递数据的2种方法,但是有些细节没有理清楚,现在补上,记录下来,供以后开发时参考,相信对其他人也有用. 参考资料:* react rou ...

  10. 汉化DotNetBar中控件的系统文本

    作者:ComponentCN 出处:www.componentcn.com 2011年11月02日 阅读: DotNetBar很多子控件的系统文本.提示信息等都是可以本地化的,可以转化为多种语言,控件 ...