Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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变量中_Php_Http - Fatal编程技术网

将完整请求存储在PHP变量中

将完整请求存储在PHP变量中,php,http,Php,Http,我正在用PHP创建一个框架,需要通过浏览器完成完整的原始请求。所以我希望变量中有这样的东西: POST /lolzorz/xD HTTP/1.1\r\n Host: localhost\r\n User-Agent: UserAgentHere/1.0.00\r\n Content-Type: application/xml; charset=utf-8\r\n Content-Length: 0\r\n \r\n <?xml version="1.0" encoding="UTF-8"?

我正在用PHP创建一个框架,需要通过浏览器完成完整的原始请求。所以我希望变量中有这样的东西:

POST /lolzorz/xD HTTP/1.1\r\n
Host: localhost\r\n
User-Agent: UserAgentHere/1.0.00\r\n
Content-Type: application/xml; charset=utf-8\r\n
Content-Length: 0\r\n
\r\n
<?xml version="1.0" encoding="UTF-8"?>\r\n
<request>\r\n
<question1 param="value" />\r\n
<question2 param="value" />\r\n
<question3 param="value" />\r\n
</request>\r\n
POST/lolzorz/xD HTTP/1.1\r\n
主机:本地主机\r\n
用户代理:UserAgentHere/1.0.00\r\n
内容类型:application/xml;字符集=utf-8\r\n
内容长度:0\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
这可能吗

我的服务器信息:

  • Mac OS X雪豹(10.6.2)
  • Apache2
  • PHP5作为一个模块运行

谢谢,

如果您指的是来自其他网页的服务器标题,请使用该功能

如果您指的是来自页面的用户请求的标题,则可以使用该函数。尽管如kon所说,首选的方法是:

<?php $postdata = file_get_contents("php://input"); ?>


您需要确保在php.ini中启用了
始终填充\u原始\u发布数据
选项。

我想您必须使用$\u服务器变量和

print_r(getallheaders());

您可以使用

获取请求头,我认为php无法获取原始输入流的头部分。(已经提到了getallheaders()/。

但至少您可以通过。

读取原始post数据。我已经读过,最好使用file\u get\u内容(“php://input"); 获取原始请求数据。