Foxtable(狐表)用户栏目专家坐堂 → HTTPRequest怎么接收XML格式的数据


  共有6440人关注过本帖树形打印复制链接

主题:HTTPRequest怎么接收XML格式的数据

帅哥哟,离线,有人找我吗?
zoudezhao
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/13 18:56:00 [只看该作者]

他是直接把XML转成了MAP了


 回到顶部
帅哥哟,离线,有人找我吗?
zoudezhao
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/13 20:02:00 [只看该作者]

甜老师如果可以的话,您看能不能提供一个端口,我把这个API指向给您看一下

 回到顶部
帅哥哟,离线,有人找我吗?
zoudezhao
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/15 10:20:00 [只看该作者]

测试 Select Case e.Path
    Case "test.htm"
        Dim s As String
        If Forms("窗口2").Opened Then
            Forms("窗口2").Controls("TextBox1").Text = Forms("窗口2").Controls("TextBox1").Text & "正文数据长度  " & e.Request.ContentLength64

end if
    End  Select

 

 

通过     e.Request.ContentLength64       获取的正文长度是完整的   


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180715101029.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/15 17:02:00 [只看该作者]

1、发送过来的数据是否经过了加密或者编码的处理?

 

2、发送过来的数据,你用别的工具测试接收,source的值是什么?xml的值是什么?


 回到顶部
帅哥哟,离线,有人找我吗?
zoudezhao
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/15 18:39:00 [只看该作者]

甜老师数据没有经过加密  source的值也就是XML的值跟之前的开发文档显示是一样的。不知道这种情况是否是因为缺少键导致的。

 

<?xml version="1.0" encoding="utf-8" ?>
<event type="extensionstatus">
<ext>801</ext>
<ip>192.168.7.38</ip>
<status>Idle</status>
<mac>00:0c:29:67:e7:68</mac>
<checksum>7c7af9453714dcacf9d8a04971b96510</checksum>
</event>


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/15 19:46:00 [只看该作者]

如果单独只是发送xml数据过来,那就使用e.PlainText可以获取的。

 

你可以msgbox(e.PlainText)看结果。我如下测试没问题

 

1、httprequest事件

 

Select Case e.Path
    Case "test.htm", ""
        msgbox(e.PlainText)
End Select

 

2、调用代码

 

Dim hc As New HttpClient("http://127.0.0.1/test.htm")
hc.Content = "<?xml version=""1.0"" encoding=""utf-8"" ?><xml><a>123</a></xml>"
Dim ret As String = hc.GetData()

[此贴子已经被作者于2018/7/15 20:33:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zoudezhao
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/15 20:05:00 [只看该作者]

甜老师e.PlainText测试过获取不到数据是空白的,e.postValues 的键能获取到<?xml version   值能获取到"1.0" encoding。在等于号后面就没有任何值了。测试了好多方法都无法正确获取实际信息

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/15 20:31:00 [只看该作者]

如果用postValues获取,那么你得到的key是什么弹出来看看。

 

请确定你发送过来的数据是什么,不然无法调试测试。


 回到顶部
帅哥哟,离线,有人找我吗?
zoudezhao
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3729 威望:0 精华:0 注册:2017/6/9 18:02:00
  发帖心情 Post By:2018/7/15 20:41:00 [只看该作者]

发送的数据是没有Key的。但是通过e.PlainText 又获取不到任何数据。同事用JAVA测试数据确实是完整的。自己也测试过HTTPClient的content属性传输下列数据没问题。但是就是接收不到API传输过来的数据
<?xml version="1.0" encoding="utf-8" ?>
<event type="extensionstatus">
<ext>801</ext>
<ip>192.168.7.38</ip>
<status>Idle</status>
<mac>00:0c:29:67:e7:68</mac>
<checksum>7c7af9453714dcacf9d8a04971b96510</checksum>
</event>

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/15 20:58:00 [只看该作者]

你既然可以用postvalues获取值,那么key是什么?msgbox(key)弹出什么?

 

你同事用java,弹出请求的信息看看(头信息、正文内容)


 回到顶部
总数 45 上一页 1 2 3 4 5 下一页