在PHP和JavaScript中,可以使用HTTP头部来获取301/302的源URL。当服务器返回301(永久重定向)或302(临时重定向)状态码时,会在HTTP头部中包含一个名为"Location"的字段,该字段的值即为重定向的目标URL。
在PHP中,可以使用以下代码获取301/302的源URL:
<?php
$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$headers = get_headers($url, 1);
if (isset($headers['Location'])) {
$sourceUrl = $headers['Location'];
echo '源URL:' . $sourceUrl;
} else {
echo '没有重定向';
}
?>
在JavaScript中,可以使用XMLHttpRequest对象来发送HTTP请求,并通过getResponseHeader()方法获取HTTP头部信息。以下是一个示例:
var xhr = new XMLHttpRequest();
xhr.open('GET', window.location.href, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status >= 300 && xhr.status < 400) {
var sourceUrl = xhr.getResponseHeader('Location');
console.log('源URL:' + sourceUrl);
} else {
console.log('没有重定向');
}
};
xhr.send();
这样,无论是在PHP还是JavaScript中,都可以获取到301/302的源URL。301/302重定向常用于网页跳转、URL重写等场景。对于PHP开发,可以使用腾讯云的云服务器(CVM)来部署PHP应用;对于JavaScript开发,可以使用腾讯云的云函数(SCF)来运行JavaScript代码。腾讯云的CVM和SCF都提供稳定可靠的计算资源和服务支持。
腾讯云产品相关链接:
领取专属 10元无门槛券
手把手带您无忧上云