我有一个应用程序生成几个apache原始文件,如下所示如何使用所有这些作为请求到PHP?我知道我们可以像header("Location: http://www.example.com/");
一样单独调用它们,但我们如何从这样的一个命令中调用所有这些呢? (仅举例)
<?php
header("http://example.com/test.php
POST test.php HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://example.com/test/
Content-Length: 87
Cookie: __cfduid=somevalue;
Connection: keep-alive
a=1&b=2");
?>
我想将它完全发送到我的服务器是否可能?
答案 0 :(得分:1)
你可以从文本中提取它并且毕竟使用header()
方法......排序如下:
<?php
$txt = "http://example.com/test.php
POST test.php HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://example.com/test/
Content-Length: 87
Cookie: __cfduid=somevalue;
Connection: keep-alive
a=1&b=2";
array_map("header", explode("\n", $txt));
基本上,每个新行都在数组中创建一个条目。 array_map()
遍历数组,对于数组中的每个项,调用header()
函数,并将数组中的项作为唯一参数。
答案 1 :(得分:1)
PHP标头函数设置响应标头,其中apache返回给客户端。问题中的标题是客户端向apache发送的请求标头。
6.2响应标题字段
response-header字段允许服务器传递额外的内容 关于无法在状态中放置的响应的信息 - 线。这些标题字段提供有关服务器和有关的信息 进一步访问Request-URI标识的资源。
response-header = Accept-Ranges ; Section 14.5 | Age ; Section 14.6 | ETag ; Section 14.19 | Location ; Section 14.30 | Proxy-Authenticate ; Section 14.33 | Retry-After ; Section 14.37 | Server ; Section 14.38 | Vary ; Section 14.44 | WWW-Authenticate ; Section 14.47
响应标头字段名称只能在中可靠地扩展 与协议版本的变化相结合。但是,新的或 实验头字段可以给出响应的语义 - 如果通信中的所有各方都认识到它们,则为头字段 是响应标头字段。无法识别的标题字段被视为 entity-header字段。
其他RFC extend this list,但您无法设置引荐来源,或者让浏览器通过标头提交另一个POST请求。
答案 2 :(得分:-1)
您可以使用可选的&#34;替换&#34;逐个发送多个标题。参数并将其设置为false。所以,例如,您可以发送
header("http://example.com/test.php");
header("POST test.php HTTP/1.1",false);
等等。这将附加到原始标题。