• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • 解析百度搜索结果链接的url,获取真正的url

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2023年08月28日 10:52:52
  • 所属分类:PHP+MySql, PHP原生源码
  • 阅读次数:410次阅读
  • 标签:
  • 通常,在百度输入关键词搜索出现的列表页,点击目标链接,然而跳转的时候却是百度地址,经过百度解析,才真的跳到目标页面。

    在SEO中,经常需要看下自己的网站排名,又不想手动每天手动去点,可用以下方法去得到目标地址。

    原理相当的简单:模拟请求,得到真正的地址。

    <?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/" 
    ?>

    将http://www.baidu.com/link?url=nS2MGJqjJ4zBBpC8yDF8xDh8vibi1lVeE7gGr9UONBu解析为http://www.google.com/

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!