首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PHP/Javascript中向前获取301/302的源url

在PHP和JavaScript中,可以使用HTTP头部来获取301/302的源URL。当服务器返回301(永久重定向)或302(临时重定向)状态码时,会在HTTP头部中包含一个名为"Location"的字段,该字段的值即为重定向的目标URL。

在PHP中,可以使用以下代码获取301/302的源URL:

代码语言:txt
复制
<?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头部信息。以下是一个示例:

代码语言:txt
复制
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都提供稳定可靠的计算资源和服务支持。

腾讯云产品相关链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在 Php 中把 Allow_url_fopen 打開的風險

也在 apache 的 error_log 中發現一些訊息如下: sh: -c: line 1: syntax error near unexpected token `;' sh: -c: line...到 Google 找了一下, 發現在 PHP Bugs 的這篇文章, 裡頭提到了, 應該是 allow_url_fopen 打開的時候, 如果有人傳入一個參數為 xxx=http://xxx/xxx 之類的東西...所以… 如果你沒有用到 URL file-access 的功能的話, 請在 php.ini 中: ; Whether to allow the treatment of URLs (like http...在 php 4.3 之前, allow_url_fopen 似乎不會讓 include(), require() 之類的函式, 可以讀取遠端的程式碼進來, 不過, 在 4.3 之後, 就可以讓這類的函式有了遠端讀取的能力...在 php 的官方網站上頭, 看到 php 6 有另一個 allow_url_include 的選項, 應該就是為了解決這個問題, 讓我們可以在一般的情形下使用 fopen 去打開遠端的檔案, 而不會用在

2K30
  • python接口自动化(十八)--重定向(Location)(详解)

    简介   在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url。URL主要是针对虚拟空间而言,因为不是自己独立管理的服务器,所以无法正常进行常规的操作。...1、请求转发(requestDispatcher) 该动作是服务器行为,在web容器中进行的,客户端对于跳转是不知道的,地址栏中显示的URL是不会变化的,因为请求转发中是一次请求,相同的request,...但是访问的文件夹却是www.xusseo.com/wap,这种访问则被 称之为重定向。 常见的重定向分为301重定向和302重定向。...2、302重定向代表暂时性转移(Temporarily Moved ) 302重定向的使用并不多见,它通常被称之为暂时性的转移。302重定向的使用常见于meta重定向和JavaScript重定向。...获取重定向后地址 1、在第一个请求后,服务器会下发一个新的请求链接,在 response 的 headers 里,如下抓包:Location ? 2、代码实现获取Location 地址 ?

    2.4K51

    腾讯云CDN开启SSL返回302

    下面解释下要说的内容吧! 使用腾讯云的CDN,配置好SSL后,开启强制HTTPS,默认是返回302的。...但是不开启强制HTTPS,源站配置的HTTPS跳转貌似是无效的(首页) 比如: 访问的是http://www,yflad.cn,在不开启强制HTTPS时,返回的是301,但是跳转的还是http://www.yflad.cn...302(临时重定向,request_uri):搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。...301(永久重定向,permanent):搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。...方法一:在关闭 强制HTTPS 的情况下,在header头部加入以下代码 javascript"> if (document.location.protocol !

    4.7K30

    什么是301,有啥作用,怎样做301转向?

    网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh 等。 除了301转向外,其他方法都是常用的作弊手法。...搜索引擎会把网页B当做唯一有效目标,网页A累积的页面权重将被传递到网页B。 实际上,都是不规范URL通过301转向到规范URL,Google会传递大部分权重,百度会传递全部权重。...%{HTTP_HOST} ^domain.com [NC]RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] 如果网站用的是Windows主机,可以在控制面板做...如果页面是 ASP 或 PHP ,还可以做301转向。...3、动态URL静态化也可能要做301转向,将旧的、动态的URL做301到新的、静态的URL。 作者:茹莱神兽 来源:https://www.woshiyy.cn/2584.html

    1.7K40

    短链接安全

    用户点击短URL,浏览器用301/302进行重定向,访问到对应的长URL。 展示对应的内容。 ?...301: 代表 永久重定向,也就是说第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器的缓存里拿,这样在 server 端就无法获取到短网址的点击数了,如果这个链接刚好是某个活动的链接...302 会给 server 增加一点压力,但在数据异常重要的今天,这点代码是值得的,所以一般使用 302。...0x02 短链接风险 知道了用途及原理之后我们就可以在短链接服务过程中寻找可能存在的缺陷。...2.3 中间环节缺陷 现在各种流程可能都存在安全检测功能,主要分为两种场景: 一、手机中安全软件会自动读取短信中的短链接并检测短链接是否为恶意链接,以此来提醒用户; 二、各社交平台比如微信等在进行跳转的时候会检测跳转的链接是否为恶意链接

    3.5K20

    301跳转与URL转发

    在购买域名时,域名本身是不带有www的,但由于域名要通过DNS服务器解析后才可以使用,在这个过程中每一个域名是会指向一个web服务器ip地址,由于在很早之前网站方都会增加一个”www”的子域名来帮助客户以更多的路径访问网站...首先第一条就是刚才我们提到的为了seo优化,在如何url网址规范化中也提到,设置301转向后,原来的页面将返回301 HTTP 状态码给浏览器或者搜索引擎,告知搜索引擎次页面已经永久重定向到了新的网页上...有的域名服务商管理后台设置的url转发功能(URL Forwarding)会使服务器返回302状态码给搜索引擎,而不是301 http 状态码。...据说这类url转发有的是通过给浏览器窗口套用一个框架iframe的方式来实现隐藏转发,有的则是使用Javascript或Meta Refresh来实现不隐藏方式的url转发,很少是真正用了301 重定向方法的...PHP 301 重定向代码 301重定向也可以在php文件中通过加入php header来实现,代码如下: 1 <?

    15.9K30

    Typecho博客全站部署腾讯云CDN教程-星泽V社

    状态码缓存 - 默认 HTTP头部缓存配置 - 开启 回源配置 Range回源配置 - 开启 回源跟随301/302配置 - 默认关闭 安全配置 鉴权配置 - 默认关闭 这项配置现在是在“...选择回源方式 - 协议跟随 HTTPS配置 - 开启强制跳转HTTPS 跳转方式设置 - 301跳转 HTTP2.0配置 - 开启 SEO优化配置 - 开启 HTTP Header配置...进阶配置 手动刷新CDN缓存 如因网站信息更变过多,可以在腾讯云CDN后台手动刷新全站缓存.具体位置在控制台-内容分发网络-左侧的刷新预热,可以根据批量URL或者文件目录的形式刷新资源....修改你服务器中的php.ini文件,查找 session.cache_limiter 参数,修改为 session.cache_limiter = none 并重启php.下图为修改前后的差别....配置CDN后获取访客真实IP 网站在部署CDN后,一般无法获取访客真实IP,只能获取各CDN节点IP,解决此问题可修改站点根目录下的 config.inc.php 添加以下代码: if(isset(

    1.5K40

    温故知新 .Net重定向深度分析

    Client Redirect vs Server Redirect   Response.Redirect方法的默认行为:当前页面暂停执行,并向浏览器发送302响应码和新的跳转URL; 浏览器识别302...由于页面地址在浏览器中不会更改,因此用户有可能会感觉异样。...③ 收藏夹:Server.Transfer在服务器上工作,用户虽收到新页面内容,但浏览器中的地址不会更新。因此,用户无法为某些页面添加书签。...部分常见3xx响应码的常规用法: 301 “永久移动” 站点改版,比如我们在nginx中强制要求使用 HTTPS: server { listen 80;...307 “临时重定向”   指示所请求的资源已被临时移动到Location标头提供的URL; 307和302之间的唯一区别是307保证在发出重定向请求时,Method和Body不会更改,当重定向地址是非

    1.4K20

    http response code 301 和 302,你懂吗

    二.现实中的差异 2.1.对于用户 301,302对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的URL变成了新的URL。页面跳到了这个新的url指向的地方。...实际上如果搜索引擎在遇到302转向时,百分之百的都抓取目标网址B的话,就不用担心网址URL劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?...由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。...三.Apache中实现301、302 方法一,url rewrite,mod_rewrite [plain] view plain copy Rewriteengine on RewriteCond...如果没有指定redirect的返回参数(例中的301),则默认重定向是"临时性的"(HTTP status 302)。

    2.7K10

    http response code 301 和 302,你懂吗

    二.现实中的差异 2.1.对于用户 301,302对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的URL变成了新的URL。页面跳到了这个新的url指向的地方。...实际上如果搜索引擎在遇到302转向时,百分之百的都抓取目标网址B的话,就不用担心网址URL劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?...由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。...三.Apache中实现301、302 方法一,url rewrite,mod_rewrite [plain] view plain copy Rewriteengine on RewriteCond...如果没有指定redirect的返回参数(例中的301),则默认重定向是"临时性的"(HTTP status 302)。

    1.1K20

    PHP网络技术(一)——HTTP协议

    注:301和302的区别: 301,302对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的URL变成了新的URL。页面跳到了这个新的url指向的地方。...但是302转向可能会有URL规范化及网址劫持的问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。...在nginx上,配置页面跳转,在server下,对于rewrite命令,301是用permanent,302是用redirect。...头域允许客户端指定请求URI的源资源地址。Referer可以记录访问的来源,统计访问量,可以用来防盗链。...PHP曾经有过自带的获取Referer的函数$_SERVER['HTTP_REFERER'],现在已经被删除,也不建议这样使用,因为这样获取到的内容很有可能是伪造的。

    1.2K60

    详解301永久重定向实现方法 转

    /default.html 如果不做301重定向会导致:你站点主域名的pr值分散到其他几个URL了。...在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选 中“资源的永久重定向”;当然,最后要点击“应用”,完成。如下图所示: ?...2:Apache 服务器实现301 重定向 在Apache 中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301 重定向只是其中之一。...302代表 暂时性转移,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。...怎么选择是重定向还是转发 通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页 面,开始页面将会被重新调用。

    4.7K40

    Scout:一款功能强大的轻量级URL模糊测试与爬取工具

    关于Scout  Scout是一款功能强大的轻量级URL模糊测试与爬取工具,可以帮助广大研究人员进行URL模糊测试,并爬取目标Web服务器中难以扫描发现的VHSOT、文件和目录等资源。...项目中包含了一个完整的字典文件,并尽可能地提供了更多的便携性,减少广大研究人员在使用该工具时所需的配置操作,即实现了“开箱即用”。  ... 工具使用样例  URL扫描 -x, --extensions 需检测的文件后缀,默认为php、htm、html和txt。...-f, --filename 要在目标文件夹中搜索的文件名称。 -H, --header 请求中额外包含的Header,例如:-H "Cookie: PHPSESSID=blah"。...10 [+] Extensions php,htm,html [+] Positive Codes 200,302,301,400,403,500,405,204,401,301,302

    53230

    教程:301永久重定向实操方法

    如果不做301重定向会导致:你站点主域名的pr值分散到其他几个URL了。...在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选 中“资源的永久重定向”;当然,最后要点击“应用”,完成。...如下图所示: v9nbqk0jr3.jpeg 2:Apache 服务器实现301 重定向 在Apache 中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301...302代表 暂时性转移,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。...怎么选择是重定向还是转发 通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页 面,开始页面将会被重新调用。

    4.7K30

    Php公众号40029,微信公众号网页授权产生 错误代码:40029 真正解决

    这个问题网上有很多所谓的解决方法,某些也确实能解决,我在开发过程中也遇到相同问题,下面记录一下我的解决方法。...百度了一下,原来302是一种不稳定的跳转,可能产生网页劫持,微信应该就是因为这个所以做了两次请求。 如果302定向会出问题,那么用301永久定向就没问题了吧?果然用301定向问题解决。...下边是301跳转的方法: (1)用javascript跳转 location.href=“https://open.weixin.qq.com/connect/oauth2/authorize?...跳转(C#,其它语言自己摸索) private void Redirect(string Url) { Response.StatusCode = 301; Response.Status = “301...no-cache”); Response.End(); } PS:产生40029错误,是因为获取code的那一步跳转出问题,code已经过期,再传到下一步,当然提示code无效啦!

    81920

    短连接原理探索

    背景:在我给别人发我的简书地址的时候以及在别的个人网站上写我的简书地址的时候就遇到了一个烦恼。。。...zf4C 获取对应的长 URL,也就是我们简书的首页(关于长短连接的映射关系存储方式就太多了,用本地缓存或者redis或者mysql都ok的) 最后请求通过 HTTP 301 转到对应的长 URLhttps...这里有个小的知识点,为什么要用 301 跳转而不是 302 ?...他们之间也是有共同点的,就是用户都可以看到url替换为了一个新的,然后发出请求,区别是: 301 是永久重定向,302 是临时重定向。...而这个点击次数是一个非常有意思的大数据分析数据源。能够分析出的东西非常非常多。所以选择302虽然会增加服务器压力,但是我想是一个更好的选择。 301和302区别详细解释

    1.4K20
    领券