Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向到页面并发送自定义HTTP头_Php_Http_Redirect - Fatal编程技术网

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) 就您所关心的重定向响应而言(而不是由重定向响应触

我使用以下代码重定向到PHP中的页面。我需要设置一个自定义HTTP头,以便与重定向一起传递

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: ....");
...