客户端发来的httpheader,然后后面就是xml。像这样:
POST /cm/portalapi HTTP/1.1Host: 111.140.17.43:28080Cookie: JSESSIONID=C3E17C85AED6C57B658CC7F27AE68BBD; Path=/cmreadContent-Length: 178Content-Type: application/xmlClient-Agent: s60_v3_v1r2_0030/240*320x-up-calling-line-id: 13888888888user-id: a15ba9b5458ec3e3caa8909d84113674APIVersion: 1.0.0Action: addUserBookClientHash: 0sEicJNzReY/EU8dxXpBgA==
<Request><AddUserBookReq><Book><contentID>92357 </contentID><chapterID>92366 </chapterID><position>37 </position></Book></AddUserBookReq></Request>
我怎么首先获取这个xml呢,
POST /cm/portalapi HTTP/1.1Host: 111.140.17.43:28080Cookie: JSESSIONID=C3E17C85AED6C57B658CC7F27AE68BBD; Path=/cmreadContent-Length: 178Content-Type: application/xmlClient-Agent: s60_v3_v1r2_0030/240*320x-up-calling-line-id: 13888888888user-id: a15ba9b5458ec3e3caa8909d84113674APIVersion: 1.0.0Action: addUserBookClientHash: 0sEicJNzReY/EU8dxXpBgA==
<Request><AddUserBookReq><Book><contentID>92357 </contentID><chapterID>92366 </chapterID><position>37 </position></Book></AddUserBookReq></Request>
我怎么首先获取这个xml呢,
$strXML=file_get_contents("php://input");
$doc = new DOMDocument();
$doc->load($strXML);
你首先要找出不能的原因.
1 echo $strXML;
看看是否获取了xml
2 $doc->load($strXML);这是错的,load()是用来从文件中获取的,如果是字符串,要用loadXML();
// echo $strXML;
$doc = new DOMDocument();
//$xml = simplexml_load_string($strXML);
$doc->loadXML($strXML);
$Books = $doc->getElementsByTagName("Book");
$contentIDs = $Books->getElementsByTagName("contentID");
$contentIDz = $contentIDs->item(0)->nodeValue; $chapterIDs = $Books->getElementsByTagName("chapterID");
$chapterIDz = $chapterIDs->item(0)->nodeValue; $positions = $Books->getElementsByTagName("position");
$positionz = $positions->item(0)->nodeValue;
你用抓包软件只能知道对方确实是发了,但与php并无关系