求php post Content-type: text/xml;的处理方法
求phppostContent-type:text/xml;的处理方法网截的结果如下:Accept:*/*User-Agent:Mozilla/5.0(WindowsNT...
求php post Content-type: text/xml;的处理方法
网截的结果如下:
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept-Language: en-us,en;q=0.5
Referer:http://mp.weixin.qq.com/
Content-Length: 392
Expect: 100-continue
Content-type: text/xml; boundary=----------------------------277b926f4f2c
通过:$GLOBALS["HTTP_RAW_POST_DATA"];获取到如下原始数据
------------------------------277b926f4f2c
Content-Disposition: form-data; name="fromUsername"
oBSB4jvtWEhuAEjBa02SS7Ohk8N0
------------------------------277b926f4f2c
Content-Disposition: form-data; name="Content"
浼氩憳
------------------------------277b926f4f2c
Content-Disposition: form-data; name="toUsername"
mwmlwd1414726131
----------------------
请问高手怎么读取原始数据里的值
额....这是我用笨办法实现代码可以读到fromUsername ,Content,toUsername三个参数的值
但是怕的是POST过来的数据位置变化了 就出错了,所以看看有没有 更高级更直接更简单的办法咯
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$arr = explode(PHP_EOL,$postStr);
echo "fromUsername:".$arr[3]."\nContent:".$arr[7]."\ntoUsername:".$arr[11];
}else {
echo "No";
exit;
} 展开
网截的结果如下:
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1
Accept-Language: en-us,en;q=0.5
Referer:http://mp.weixin.qq.com/
Content-Length: 392
Expect: 100-continue
Content-type: text/xml; boundary=----------------------------277b926f4f2c
通过:$GLOBALS["HTTP_RAW_POST_DATA"];获取到如下原始数据
------------------------------277b926f4f2c
Content-Disposition: form-data; name="fromUsername"
oBSB4jvtWEhuAEjBa02SS7Ohk8N0
------------------------------277b926f4f2c
Content-Disposition: form-data; name="Content"
浼氩憳
------------------------------277b926f4f2c
Content-Disposition: form-data; name="toUsername"
mwmlwd1414726131
----------------------
请问高手怎么读取原始数据里的值
额....这是我用笨办法实现代码可以读到fromUsername ,Content,toUsername三个参数的值
但是怕的是POST过来的数据位置变化了 就出错了,所以看看有没有 更高级更直接更简单的办法咯
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$arr = explode(PHP_EOL,$postStr);
echo "fromUsername:".$arr[3]."\nContent:".$arr[7]."\ntoUsername:".$arr[11];
}else {
echo "No";
exit;
} 展开
2个回答
2014-10-31 · 知道合伙人软件行家
关注
展开全部
看你的代码,是接受别人的post请求
直接用$_POST就可以取出里边的所有值啊。。。
直接用$_POST就可以取出里边的所有值啊。。。
更多追问追答
追问
$_POST 取不到类型为Content-type: text/xml;的值
追答
不太清楚你的意图欸
如果别人向你的服务器发送post请求,我们一般就处理post过来的值就行了
你上面输出的一大推只是请求的信息头,你到底需要信息头的里面的什么数据呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取什么数据
print_r($_SARVER);
更多追问追答
追问
就是读里面的 fromUsername ,Content,toUsername三个参数的值
追答
微信开发吧
试试下面的代码吧 ,看不懂在问我。
$xml = (array) simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询