以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]移动开发后台接收数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113260)

--  作者:yjh2002
--  发布时间:2018/1/12 8:54:00
--  [讨论]移动开发后台接收数据

做了个移动开发项目,后台日志中发现有一些这样的提交:

------WebKitFormBoundaryNI6YDDsfjQvnsNLu
Content-Disposition: form-data; name="username"
出现这种情况,前台提交的数据就无法接收,请问这是什么情况,怎么解决?


--  作者:有点甜
--  发布时间:2018/1/12 9:20:00
--  

1、你写什么代码得到的日志?

 

2、你贴出的东西,就是一个post提交的原始数据。


--  作者:yjh2002
--  发布时间:2018/1/12 9:22:00
--  
写的后台接收数据的日志,但后台接收数据不止这些,出现这种内容后没就没数据了。在网上查好象是苹果系统提交的问题。
--  作者:有点甜
--  发布时间:2018/1/12 9:23:00
--  

直接说你前台做了什么,后台写了什么代码,做什么操作之后,出现什么问题?

 

你关闭重启foxtable程序,能否解决?


--  作者:yjh2002
--  发布时间:2018/1/12 9:31:00
--  

1、台前是一个手机数据提交页面,就是十几个数据框。

2、正常情况下的内容在日志里如下

2018-01-10 15:00:31.2100
path=default.htm
HttpMethod=POST
UserName=9137060279153645XX
s001=0
s003=28.67
s005=12.76
s006=12.84
s007=293.45
s010=12.29
s011=8.19
s014=2.05
s999=370.25
tjbz=123

3、有些用户说提交了,但查询内容还是0,我在后台日志中发现有这样的日志内容。

2018-01-11 14:21:53.7782
path=password.htm
HttpMethod=POST
UserName=91370600737242418p
------WebKitFormBoundaryAqNuaVX4JqhrNKoA
Content-Disposition: form-data; name="username"

91370600737242418p
------WebKitFormBoundaryAqNuaVX4JqhrNKoA
Content-Disposition: form-data; name

后面没有提交数据

即使用户提交的都是0,我这个标志tjbz=123是个隐藏内容,也应该出现。

4、后台就是个httpsever,不需要人工操作。

5、这个跟重启程序无关

6、我上网查询,似乎是苹果浏览器带的表头部分,好象需要单独解读。

7、我想问一下咱们的foxtable如何处理这种问题?


--  作者:有点甜
--  发布时间:2018/1/12 9:45:00
--  

请贴出你日志写的代码。不论何种浏览器提交数据foxtable都是能正常获取值的。


--  作者:yjh2002
--  发布时间:2018/1/12 9:47:00
--  

日志代码是直接炒咱们的示例里面的,内容如下:

    Dim v  = Args(0)
    Dim msg As String
    If Typeof v Is Exception Then \'如果是Exception的异常类型,则递归获取所有的异常堆栈
        Do While v IsNot Nothing
        msg &= v.Message & Environment.NewLine & v.StackTrace & Environment.NewLine
        v = v.InnerException
        Loop
    Else \'其它情况只能传入错误的文本内容
        msg = v
    End If
    Dim logstxt As String =ProjectPath & "Mmsglog" & Date.Today & ".txt"
    Output.Logs("AppLogging").Add(Format( Date.Now,"yyyy-MM-dd HH:mm:ss.ffff") & vbCrLf & msg)
    Output.Logs("AppLogging").Save(logstxt,True) \'日志位于当前项目目录里
    Output.Logs("AppLogging").Clear


--  作者:有点甜
--  发布时间:2018/1/12 9:49:00
--  

如果是直接使用foxtable写的代码,肯定能获取到值。

 

如果获取不到:1、询问你用户使用的浏览器,然后你也测试一下;2、有可能是你用户使用一些工具模拟提交数据;3、你写的代码有问题。


--  作者:yjh2002
--  发布时间:2018/1/12 10:03:00
--  

主要是绝大多数用户是正常的,300多个用户,只有很少数几个出现这种情况,应该不会是代码问题。

后面会逐渐增加到上千个用户,你说的1和2可能性比较大。刚才上数据库看了,那个用户之前提交上数据了,那么日志里面的内容有可能是你说的第二种情况吧。

 

软件里如何获取用户的IP地址?这样我好监控是否恶意用户。

 


--  作者:yjh2002
--  发布时间:2018/1/12 10:07:00
--  
还有个问题,就是一开始很多企业报的是空数据,但他们的会计说报的有数,但再进去就是0了。后来让他们不用wifi用流量报就好了,应该是企业wifi对提交数据有拦截。但也只是怀疑,请问你们遇到这种情况了吗?