簡體   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