0
A
回答
0
讓所有重定向站點的列表,並檢查對他們的網址的域名。
$redirecters = array("goo.gl", "tinyurl.com", ...);
$domain = parse_url($url, PHP_URL_HOST);
if (in_array($domain, $redirecters)) {
echo "That's a redirect URL!";
}
0
這個代碼利用捲曲遵循基於定義的閾值的任意重定向以確定URL縮短:
!defined('THRESHOLD')?define('THRESHOLD',2):null;
$i = 0;
$url = 'goo.gl/Vmnf';
while ($i<THRESHOLD)
{
$ch = curl_init();
// set URL and other appropriate options
$options = array(CURLOPT_URL => $url,
CURLOPT_HEADER => true,
CURLOPT_CRLF => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_FRESH_CONNECT => true,
CURLOPT_TCP_NODELAY => true,
CURLOPT_RETURNTRANSFER => true,
);
curl_setopt_array($ch, $options);
// grab URL and pass it to the browser
$trans = curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
// Processing
preg_match('/^(?P<header>.*?)(?:\r?\n){2}(?P<body>.*)?$/s', $trans, $ptrans);
if(empty($ptrans['header'])) break;
$headers = preg_split('/\r?\n/', $ptrans['header']);
preg_match('/^HTTP\/(?P<http_varsion>.*?)\s(?P<http_code>.*?)\s(?P<http_description>.*)?$/m', $headers[0], $matches);
unset($headers[0]);
if ((int)($matches['http_code']/100) != 3)
{
break;
}
for($j = 1; $j < count($headers); $j++)
{
preg_match('/^(?P<name>.*?):\s+(?P<value>.*)$/',$headers[$j], $header);
$headers[$header['name']] = $header['value'];
unset($headers[$j]);
}
$http = [
'version' => $matches['http_varsion'],
'code' => $matches['http_code'],
'description' => $matches['http_description'],
'header' => $headers,
'body' => $ptrans['body'],
];
if (empty($http['header']['Location']))
break;
$url = $http['header']['Location'];
$i++;
}
echo $i;
相關問題
- 1. 使用javascript檢測重定向 - 如何?
- 2. PHP檢測URL是否重定向並重試重定向
- 3. 如何檢測重定向的URL?
- 4. Webview - 如何檢測重定向URL
- 5. 如何使用自定義url在php中重定向
- 6. 如何使用語言前綴檢測/重定向URL
- 7. 如何使用mod_rewrite/htaccess從URL中檢測並重定向?
- 8. PHP/JAVA:重定向/檢測?
- 9. 使用javascript自動重定向
- 10. 如何使用動態生成的url生成php重定向?
- 11. 檢測和重定向基於URL
- 12. 重定向不適用於JavaScript或PHP
- 13. PHP重定向自定義變量URL
- 14. 將PHP重定向到自定義URL
- 15. 如何檢測回訪者並重定向到特定的URL?
- 16. 重定向URL到移動當用戶代理檢測
- 17. Javascript URL重定向
- 18. Javascript URL重定向
- 19. URL重定向Javascript
- 20. URL重定向使用PHP或Apache重寫
- 21. 使用PHP或Javascript自動將瀏覽器重定向到許多IP地址
- 22. JavaScript - 如何檢測自定義URL方案是否可用?
- 23. 使用硒測試URL重定向
- 24. PHP URL重定向
- 25. php ---- url重定向
- 26. PHP重定向URL
- 27. PHP重定向URL
- 28. PHP重定向URL
- 29. PHP:檢查URL是否重定向?
- 30. URL重定向php或.htaccess在WordPress
心靈澄清你問什麼? –
使用curl(php)或ajax(js)並查找「位置」標頭或「3xx」代碼。只需在curl中禁用以下url即可。 – Cunning
@Cunning很多地方都會發送不只是網址縮寫的重定向。 – Barmar