zoukankan      html  css  js  c++  java
  • 用Head方法获得百度搜索结果的真实地址

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

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

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

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

    思路很简单:

    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();
        }
    }
      
    
  • 相关阅读:
    kubernetes案例 tomcat+mysql
    elasticsearch+logstash+kibana部署
    elasticsearch集群部署以及head插件安装
    Rhel7.4系统部署cobbler
    部署Hadoop2.0高性能集群
    使用haproxy实现负载均衡集群
    nginx实现动静分离的负载均衡集群
    heartrbeat实现web服务器高可用
    keepalived+lvs
    LVS集群之IP TUN模式以及网站压力测试
  • 原文地址:https://www.cnblogs.com/xiaff/p/get_real_link_from_baidu_search_result.html
Copyright © 2011-2022 走看看