php如何获取一个http包

来源:百度知道 编辑:UC知道 时间:2024/09/21 11:14:33
我在自己机子上向内网服务器的/test/welcome.php 发送一个http包(包体是Hello),是用c写的,在welcome.php中写入
<?php
echo $_POST;
?>

本地debug的信息如下:
tcps_open: host address is 192.168.1.10
tcps_open: wait for connecting...
DUMP tcps_send buf_snd:
POST /test/welcome.php HTTP/1.1..Host: 192.168.1.10:80..Content-Length: 5..Accept:....Hello (发送的包)
tcps_send: 93 bytes send!
tcps_recv_http: wait for receiving...
tcps_recv_http_header: HTTP/1.1 200 OK
tcps_recv_http_header: Date = Tue, 04 Nov 2008 03:11:38 GMT
tcps_recv_http_header: Server = Apache/2.2.10 (Unix) PHP/5.2.6
tcps_recv_http_header: X-Powered-By = PHP/5.2.6
tcps_recv_http_header: Content-Length = 9
tcps_recv_http_header: Content-Type = text/html
tcps_recv_http: data ready!
tcps_recv_http: 174 bytes received! body start at 165, body len = 9

从服务器返回的数据:
Array

——————————————————————
Array下没任何数据,怎么才能在服务器上获取Hello呢?是$_POST用错了 还是php.ini 或者httpd

$_POST是一个数组,echo $_POST当然是Array.你可以var_dump($_POST)看一下数组里的参数和值。如果你传过去的参数是a,值是hello,你可以用 $_POST['a']来获取,仿GET方式welcome.php?a=hello
echo $_GET['a'];

var_dump($_POST)

echo 不能打印数组。。。

你也可以用 print_r

print_r($HTTP_RAW_POST_DATA);

无语啊!

$_POST是个数组啊。
echo 出来当然是 Array

可以用
var_dump($_POST);
或者
print_r($_POST);