首页 > 编程语言 >php获取百度真实来源URL(baidu.com/link?url=)

php获取百度真实来源URL(baidu.com/link?url=)

时间:2023-09-13 17:11:50浏览次数:46  
标签:baidu resUrl ch URL outArr link result curl

有时候我们可能会因为某些原因,在不点击百度链接的情况下,获得来源网址真实地址,使用以下方法即可获得。

 如上图所示,URL链接为:https://www.baidu.com/link?url=G-zVzAOV_WhO51JGmRbzzoflu9U1WUJOi25-pTad-x1RKXweAHRHIBpHhOtfyH9JeJCn_GZp9jDYblrtxMat3q&wd=&eqid=86f100e5000038e30000000465017667

而实际上,我们想获取的真实URL为:https://www.cdyizhan.com/kaoyan/16929850818064

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
$result = curl_exec($ch);
curl_close($ch);
//解析数据
$resUrl = "";
if (strpos($result, '<META http-equiv="refresh"') !== false) {
    preg_match_all( "#content=\"0;URL='(.*)'\">#iUs", $result, $outArr );
    if( is_array($outArr[1]) && $outArr[1][0]!="" ){
        $resUrl = $outArr[1][0];
    }
}else{
    $listArr = explode("\r\n", $result);
    foreach ($listArr as $key => $value) {
        if (strpos($value, 'Location:') !== false) {
            $resUrl = trim(substr($value, strpos($value,':')+1));
            break;
        }
    }
}
echo $resUrl;
exit;

 

标签:baidu,resUrl,ch,URL,outArr,link,result,curl
From: https://www.cnblogs.com/vvvkkkooo/p/17700184.html

相关文章

  • 完美解决Server returned HTTP response code:403 for URL报错问题
    在调用某个接口的时候,突然就遇到了Server returned HTTP response code: 403 for URL报错这个报错,导致获取不到接口的数据,下面小编给大家分享解决Server returned HTTP response code:403 for URL报错问题,感兴趣的朋友一起看看吧 前言原因依赖post请求结语......
  • String、StringBuffer和StringBuilder的区别,ArrayList和linkedList的区别,HashMap和Has
    一、String、StringBuffer和StringBuilder的区别1.1相关介绍String是只读字符串,并不是基本数据类型,而是一个对象。从底层源码来看是一个final修饰的字符数组,所引用的字符串不能改变,一经定义无法再增删改。每次对String操作都会生成新的String对象。所以对于经常改变内容的字符串最......
  • simulink模块执行顺序
    simulink模块执行顺序Simulink模块的执行顺序都是序贯进行的,也就是沿着信号的流向进行。没有输入的模块先进行计算,更新状态量与输出,需要输入信号的模块等到输入信号准备ready之后进行状态量和输出的更新。两个模块A/B,如果B模块的输入依赖于A模块的输出,那么先执行A模块再执行B模......
  • 淘宝api:本地图片上传至淘宝 获取url(联合拍立淘接口)
    upload_img-上传图片到淘宝请求参数请求参数:imgcode=https://img14.360buyimg.com/n0/jfs/t1/52280/38/7464/140698/5d511f6bE08290bd7/f0bb32ddb47451e8.jpg参数说明:imgcode:base64加密后的图片内容(post方式),或者是直接上传(file方式)响应参数名称类型必须示例值描述......
  • 【Flink系列十八】HDFS_DELEGATION_TOKEN过期的问题解决汇总
    问题类别Spark框架自身的问题Hadoop全家桶的问题开发者通过Hive,HDFS,HBASE访问HDFS的问题排查已知Hadoop-common-2.6.0的UGI存在bug,代码为HADOOP-10786,该问题在CDH发行版中已经修复,但Apache版本存在问题。已知HDFS也存在一个HDFS_DELEGATION_TOKEN过期的bug,代码为HDFS-9......
  • Flink CDC 原理、实践和优化
    本文转载自:https://zhuanlan.zhihu.com/p/430182083 CDC变更数据捕获技术可以将源数据库的增量变动记录,同步到一个或多个数据目的。本文基于腾讯云Oceanus提供的FlinkCDC引擎,着重介绍Flink在变更数据捕获技术中的应用。一、CDC是什么?CDC是变更数据捕获(ChangeData......
  • 记录一个比较完善的php的curl请求方法的demo
    functionhttpRequest($url,$dataStr="",$isPost=0,$headers=[]){$httpInfo=[];$ch=curl_init();curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(Window......
  • Bypass:URL非法参数名产生的绕过问题
    测试测试demo:<?phphighlight_file(__FILE__);error_reporting(0);$var=$_REQUEST["mochu."];var_dump($_REQUEST);echo"PHP-Version:".phpversion()."<br>";if(is_null($var)){die("<br>$varisnull")......
  • docker-compose 报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
    没有解决问题的操作wgethttps://www.openssl.org/source/openssl-1.1.1v.tar.gztar-zxvfopenssl-1.1.1v.tar.gzcdopenssl-*./config--prefix=/usr/local/ssl--openssldir=/usr/local/sslsharedmakesudomakeinstallecho"/usr/local/ssl/lib"|sudotee/e......
  • HookWinInet库实现类似fiddler的替换url
    fiddler正常情况下只能捕获WinInet库的请求,所以,只要浏览器设置代理服务器为fiddler,且fiddler可以正常抓包,就可以推测这些请求所使用的网络库是WinInet库。本文想要通过hook的方式实现类似于fiddler的替换响应,也就是替换一个url链接,访问的时候,响应变成了另外一个服务器发出来的。......