找回密码
 加入
搜索
查看: 3750|回复: 8

[网络通信] 【高手何在?】如何通过winhttprequest获取200 OK中的Data数据?

  [复制链接]
发表于 2013-8-29 21:10:08 | 显示全部楼层 |阅读模式
本帖最后由 xowen 于 2013-9-9 19:37 编辑

使用$xmlhttp.responsetxt获取不到数据,请大虾帮忙,怎么才能获取到200 OK中携带的数据?(如下图红色方框标记处)
local $IP='192.168.1.12'
                $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
                $xmlhttp = ObjCreate("winhttp.winhttprequest.5.1")
                        $xmlhttp.setTimeouts(3000, 3000, 5000, 5000)
                        $xmlhttp.open("POST", 'http://'&$IP&'/login/status', False)
                        $xmlhttp.setRequestHeader("Accept-Language", "zh-cn")
                        $xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
                        $xmlhttp.setRequestHeader("Host", $IP)
                        $xmlhttp.setRequestHeader("Connection", 'Keep-Alive')
                        $xmlhttp.setRequestHeader("Referer", 'http://'&$IP)
                        $xmlhttp.send('username=admin&password=123')
                        $Return_Msg=$xmlhttp.ResponseText     ;==>这步获取不到服务端返回的200 OK中的Data数据,返回为空。那么怎么获取到获取返回的Data?参考数据包截图

尝试了以下方法都不行,获取的数据都是空的:
1、$xmlhttp.getResponseHeader('Data')
2、$xmlhttp.ResponseBody

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-8-29 22:04:05 | 显示全部楼层
兄台...这个没太明白你说的意思啊
 楼主| 发表于 2013-8-29 22:37:57 | 显示全部楼层
回复 2# tutou9997
重新编辑了一下帖子,请帮忙看看,谢谢1
发表于 2013-8-30 05:35:39 | 显示全部楼层
BinaryToString($oHTTP.ResponseBody, 1)
乱码的话就
BinaryToString($oHTTP.ResponseBody, 4)
 楼主| 发表于 2013-8-30 11:00:12 | 显示全部楼层
回复 4# komaau3
$oHTTP.ResponseBody获取到的值为空哎!貌似这个方法不行额!
发表于 2013-8-30 14:55:42 | 显示全部楼层
回复 5# xowen


    你登的是路由?
 楼主| 发表于 2013-8-30 17:57:22 | 显示全部楼层
回复 6# komaau3
是一个话机,针对不同HTTP请求,返回的200 OK有两种格式:
1、200 OK数据包中指定了类型为application/json,这种返回的数据是txt格式的,可以直接使用ResponseTXT获取。
2、另一种没有指定类型(如问题中的截图),数据保存在Data中,以16进制形式存在,通过我说的方法都获取不到Data中包含的值。
 楼主| 发表于 2013-9-4 00:22:00 | 显示全部楼层
高手大虾出来吧!
 楼主| 发表于 2013-9-9 19:38:03 | 显示全部楼层
高手何在.....?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 22:41 , Processed in 0.084940 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表