首页 新闻 搜索 专区 学院

Http Request Post 到服务器,返回OK,但并不写入数据库为何??

0
悬赏园豆:30 [已解决问题] 解决于 2017-05-04 10:13

【因】

开发的软件需要跟别的公司数据同步(提交数据到对方数据库),但对方没开接口,也不能直接访问对方数据库,只能通过分析Web页通过代码来做数据同步。

对方系统:应该是企业级jsp框架的Web应用,包含struts2的那种(对jsp不熟);

【我的方法】

我用的C#,通过模拟http Request Post数据到对方服务器,从登录到数据查询、更改等等,都成功 了,直到遇到一个页面.....

【问题详细描述】

该页面是数据编辑页面,我通过模拟http Request Post数据,返回状态是OK,返回内容是一个httpDocument(是整个数据编辑页,其中还包含我提交的新数据,都没问题),但是我通过浏览器查看时,发现数据并没有真正更新到数据库。

我已经模拟通过Network Monitor找到的所有http request,包含编辑页加载后,到点击提交按钮,这个过程中所有的向服务器的Request。都正常通过,但就是不写入数据库。

【请问】

到底什么原因?或者Jsp还有什么方法来导致我的更新不成功?

chutianshu_1981的主页 chutianshu_1981 | 初学一级 | 园豆:43
提问于:2016-07-16 18:37
< >
分享
最佳答案
0

正浏览器里面访问这个并保存能持久化到数据库么,如果是继续,如果不是那说什么都是扯淡

浏览器调试查看post提交的内容和你模拟提交的内容是否一致。

包括cookie,header,表单是否有hidden并分析规则。

 

 

你问题里面有说到相应码是200.返回了document。吧返回的内容保存到本地html文件,然后浏览器打开。对比和在浏览器保存成功后的页面是否一致,是否有错误提示,多出的脚本代码等

收获园豆:20
czd890 | 专家六级 |园豆:12604 | 2016-07-17 11:26

浏览器提交后,可以正常保存。

我已经比对过我的应用提交和浏览器提交的内容。从编辑页面加载,到提交后,整个过程的Request和Response都一致,完全跟浏览器相同。

返回的html document我直接加载到了测试程序的web控件里,和服务器页面内容也没啥区别。

 

chutianshu_1981 | 园豆:43 (初学一级) | 2016-07-17 11:55
其他回答(2)
-1

这和你没什么关系。

| 园豆:780 (小虾三级) | 2016-07-16 20:29

请说明具体原理

 
支持(0) 反对(0) chutianshu_1981 | 园豆:43 (初学一级) | 2016-07-16 21:25
0

1. JS或后台是否有数据校验

2. 问下后台是否有判断请求来源之类的校验

收获园豆:10
大志若愚 | 园豆:2123 (老鸟四级) | 2016-07-18 09:16

1.Js有数据校验,不过我应该也都模拟了。在提交前,有两个发向服务器的get Request,我按照net work monitor抓的样式也模拟过了。

2.无法跟对方联系上。后台如果有判断来源的,应该是什么原理?既然我已经把http的header模拟的跟web 浏览器的完全一样了,后台如何再判断非浏览器来源?

支持(0) 反对(0) chutianshu_1981 | 园豆:43 (初学一级) | 2016-07-18 12:23

@chutianshu_1981: 判断url的地址是否合法,不过好像你已经模拟了,那你还是问下他们的后台人员吧

支持(0) 反对(0) 大志若愚 | 园豆:2123 (老鸟四级) | 2016-07-18 17:38

@大志若愚: 好的,应该是还有些小的细节没有被发现,不管怎样,还是多谢了!

支持(0) 反对(0) chutianshu_1981 | 园豆:43 (初学一级) | 2016-07-18 17:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册