Php 重定向到页面并发送自定义HTTP头
我使用以下代码重定向到PHP中的页面。我需要设置一个自定义HTTP头,以便与重定向一起传递Php 重定向到页面并发送自定义HTTP头,php,http,redirect,Php,Http,Redirect,我使用以下代码重定向到PHP中的页面。我需要设置一个自定义HTTP头,以便与重定向一起传递 header("Location: http://..."); 如何存档此文件 只需在这个调用之后或之前添加额外的header()调用即可 header("Location: http://..."); header("Content-Type: text/plain"); 这个问题需要以不同的方式回答,因为答案与你所看到的不同: 重定向响应(PHP) 就您所关心的重定向响应而言(而不是由重定向响应触
header("Location: http://...");
如何存档此文件 只需在这个调用之后或之前添加额外的
header()
调用即可
header("Location: http://...");
header("Content-Type: text/plain");
这个问题需要以不同的方式回答,因为答案与你所看到的不同: 重定向响应(PHP) 就您所关心的重定向响应而言(而不是由重定向响应触发的请求) 多个电话: 由重定向响应触发的新请求(浏览器、HTTP客户端) 如果您正在查找由重定向响应触发的新请求,请查阅HTTP客户端技术文档以了解您的选项 通常,HTTP客户端不提供任何此类选项,如果其中一个响应头是
位置:
头,大多数HTTP客户端不会将响应头转换为请求头
无论如何,这没有任何意义,因为这种做法是不安全的
特别是在交互式HTTP客户端(如浏览器)级别,该客户端在未经用户批准的情况下自动执行重定向
进一步阅读:恐怕所有的答案都是错误和误导的 无论您使用何种语言或框架,都不可能重定向到设置了自定义标题的页面。换句话说,无法触发HTTP重定向并导致客户端(浏览器)添加自定义头 您可能认为使用多个
header()
调用应该可以正常工作。但不会。您正在为指示浏览器重定向的响应设置自定义标题,而不是重定向本身
站点指示浏览器发出带有自定义头的HTTP请求的唯一方法是使用Javascript和XMLHttpRequest
对象。它需要在目标服务器上实现CORS以允许此类ajax请求
请注意,页面不能设置HTTP请求头,除非它使用XMLHttpRequest
发出异步请求。这意味着您也不能在客户端使用自定义头进行这种重定向
网络不是这样工作的 多个
header
调用。我尝试在重定向之前和之后添加它,然后在Firefox上使用HttpFox,但发现HTTP头没有被发送。是否尝试使用重定向发送数据?为什么不使用php会话?什么不适合你?请张贴您的密码。我无法突然猜出你做错了什么;标题(“X_MSISDN:+27000000000”);标题(“X_UP_CALLING_LINE_ID:+27000000000”);标题(“位置:url”);您需要在firefox中禁用自动重定向,才能真正看到发送了哪些响应头。如果您不这样做,Firefox将对位置
标题中给出的URI执行第二个请求,这与之前不同。您可以通过注释掉位置
标题暂时禁用自动重定向,也可以通过安装一个小插件禁用自动重定向:它不起作用,因为您无法为重定向设置自定义HTTP标题。从未!听起来好像op对请求和响应头感到困惑。header(“位置:http://...");代码>将在第二行运行之前重定向。它不是possible@genesis跑了?哪里一切都好吗?
header("Location: ....");
header("Header2: ....");
header("Header3: ....");
...