龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 解析百度搜索结果link?url=

时间:2014-10-16 16:28来源:网络整理 作者:网络 点击:
分享到:
解析百度搜索结果link?url= 我是这样验证的:1、先百度搜索 www.php100.com第一个结果链接:http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf546427d385fef6656de2404d6843da27看到前面的几位64

我是这样验证的:

1、先百度搜索 www.php100.com

第一个结果链接:

http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf546427d385fef6656d e2404d6843da27

看到前面的几位6427d385fef6656de2404d6843da27

2、 再百度搜索 www.hao123.com

第一个结果链接:

http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf54 6427d385e6ff7a6de0434d6843da

看到前面的几位6427d385e6ff7a6de0434d6843da ……

多次搜索N个网站后发现,域名前几位是“www.”的,密文是都是6427d385

并且www.是四个字符,密文6427d385是八个字符。可以知道密文两个字符等于url一个字符。

于是写了一个php表单查询并得到密文部分,方便以后查看。

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>查询百度link?ulr=真实链接表单</title>
</head>

<body>
<?php
/*
    getrealurl 获取301、302重定向后的URL地址  by enenba.com
    @param str $url 查询
    $return str  定向后的url的真实url
 */
function getrealurl($url){
    $header = get_headers($url,1);
    if (strpos($header[0],'301') || strpos($header[0],'302')) {
        if(is_array($header['Location'])) {
            return $header['Location'][count($header['Location'])-1];
        }else{
            return $header['Location'];
        }
    }else {
        return $url;
    }
}
$input = '<form method="get" action=""><input type="text" name="url" id="url" style="width:800px;" /><input type="submit" value="提交" /></form><body></html>';

$url = isset($_GET['url'])?$_GET['url']:'';
if(empty($url)) exit($input);
$urlreal = getrealurl($url);
echo '真实的url为:'.$urlreal;
$urlreal = ltrim($urlreal,'http://');

$search = '/ebac5573358cc3c0659257bfcf54([0-9a-f]+)/i';
preg_match($search,$url,$r);
$url_encode = $r[1];  unset($r);

echo '<br/>密文部分为:'.$url_encode.'<br/>';

$urlreal_arr = str_split($urlreal);
$url_encode_arr = str_split($url_encode,2);

echo '<br />';
echo $input;
?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接