解析http://www.baidu.com/link?url=

前言

在网上搜索,有说url后面的参数是百度收录后生成的参数。
解析方式:https://blog.csdn.net/weixin_30883777/article/details/94793401
模拟请求,得到真正的地址

php方式

https://www.cnblogs.com/xcsn/p/4678304.html

<?php
$url = "http://www.baidu.com/link?url=nS2MGJqjJ4zBBpC8yDF8xDh8vibi1lVeE7gGr9UONBu";

$info = parse_url($url);
$fp = fsockopen($info['host'], 80,$errno, $errstr, 30);
fputs($fp,"GET {$info['path']}?{$info['query']} HTTP/1.1\r\n");
fputs($fp, "Host: {$info['host']}\r\n");
fputs($fp, "Connection: close\r\n\r\n");
$rewrite = '';
while(!feof($fp)) {
    $line = fgets($fp);
    if($line != "\r\n" ) {
        if(strpos($line,'Location:') !== false) {
            $rewrite = str_replace(array("\r","\n","Location: "),'',$line);
        }
    }else {
        break;
    }
}
var_dump($rewrite); //结果显示:string(22) "http://www.google.com/" 
?>

java方式

@Test
public void mockRequest() throws IOException {
    String url = "http://www.baidu.com/link?url=Ughq64BCTKM84_A93RrmeHcDWPmkf9HaFj7IQOB8sWkr6AVr8BqZ9eHrcOlK2Di_";
    Document doc = Jsoup.connect(url).get();
    System.out.println("网页标题:" + doc.title());
    System.out.println("网页地址:" + doc.location());
}
发布了59 篇原创文章 · 获赞 15 · 访问量 9万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览