繁体   English   中英

如何在不重定向原始的情况下获取短URL服务的信息或实际信息

[英]How to get info or actual of short URL service without redirect on original

我创建了https://www.google.com的缩短网址。

我使用了URL缩短器来缩短转换后的链接

现在,当我点击缩短的链接时,他们会将我重定向到https://www.google.com

  1. 在上述情况下,如何通过使用PHP而不重定向到Google.com的缩短链接了解最终链接?

  2. 如何在不使用PHP的原始/最终链接的情况下获得重定向次数(用于递归缩短URL)?

更简单的解决方案是将curl设置为仅获取标题( 忽略正文 ),并遵循位置; 然后使用curl_getinfo()函数获取最后一个url而不是。 重定向:

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL => $url,
    CURLOPT_HEADER => false,
    CURLOPT_NOBODY => true,
    CURLOPT_FOLLOWLOCATION => true,
));
curl_exec($ch);
$last_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$redirect_count = curl_getinfo($ch, CURLINFO_REDIRECT_COUNT);
curl_close($ch);

现在你有变量:

  • $last_url =重定向循环中的最后一个URL
  • $redirect_count =不。 发生的重定向

看看你可以获取的其他伟大的curl_getinfo()参数

ps你可以将CURLOPT_HEADERtrue来查看究竟发生了什么。

按照HTTP响应,直到您获得不同于301的响应代码。

您可以获得HTTP响应代码和下一个URL:

$http = curl_init($url);
$result = curl_exec($http);
$http_status = curl_getinfo($http, CURLINFO_HTTP_CODE);
$next_url = curl_getinfo($http, CURLINFO_REDIRECT_URL);
curl_close($http);
echo $http_status;
echo $next_url;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM