C/c++ http请求

今天 做c/c++ http 请求 php页面,POST方式提交,但是php却无法获得数据。

默认content-type 是 text/html

所以,提交后,后台php无法通过$_POST或者$_REQUESt获得数据。
原因是:由于PHP默认只识别application/x-www-form-urlencoded标准的数据类型,因此,对型如text/xml的内容无 法解析为$_POST数组,故保留原型,交给$HTTP_RAW_POST_DAT来接收

所以,在c/c++把 content-type修改为:application/x-www-form-urlencoded才可以.

下面文字来自于链接: http://www.justwinit.cn/post/2488/
【转】:
这两天在做WEB SERVICE,想详细了解一下soap提交的数据,于是把$_SERVER和$_REQUEST两个数组全打在日志里,但就是没有看见POST的内容. 没法只得找了个本地抓包软件抓了下.想了一下肯定是$_REQUEST或$_POST数组都是解析过的数据,对于非a=b方式的数据无法解析,所以是空的!

今天在看XMLRPC的一文章时(http://www.programfan.com/article/2944.html),发 现了 $HTTP_RAW_POST_DATA 这个变量能取到post的内容.网上有文章如下介绍



The RAW / uninterpreted HTTP POST information can be accessed with:   $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).

意思是,由于PHP默认只识别application/x-www-form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$HTTP_RAW_POST_DAT来接收。