在研究网易登录的时候,发现网易的登录的POST数据为如下形式:
callCount=1
scriptSessionId=${scriptSessionId}187
c0-scriptName=UserBeanNew
c0-methodName=checkPassportVN
c0-id=0
c0-param0=string:ssologin
c0-param1=string:cf8956a6cf1cbbebe85ddde5156afee8
c0-param2=boolean:false
c0-param3=string:0
c0-param4=boolean:false
c0-param5=boolean:false
c0-param6=boolean:false
batchId=662190
因为如果是表单提交的数据的话,POST数据一般是xx=XX&yy=YY&.. 的形式,这样正好方便解到数组里面;但是网易的POST明显不是这种格式,还在想是怎么发起的这个http请求,后来才意识到使用ajax的方式时,POST数据完全可以使外部组织的。至于服务器端怎么解释就是另外一回事儿了。
网易的服务器端是java写的,至于java怎么获取这部分数据就不管了,如果是PHP,怎么获取这种格式的数据呢?一般来讲,使用PHP获取POST数据都是从POST数组中获取的,但是,这种格式显然不能按照xx=XX&yy=YY&.. 格式来解释成数组了,那么PHP又怎么获取这部分数据呢,至少PHP一定有办法获取这部分数据,只是我目前还不知道而已(或者是忘记了);
后来百度一下,发现可以通过 php://input 来获取。