我们单位内部网上有一个页面,这个页面整个就是JAVA客户端,查看源文件,里面都是js文件。
其功能是:当我输入一个 身份证号 并点击确定按钮后,就发送一个请求服务,这个请求服务会向10地市的服务器发送;
因为请求查询的时间较长,所以页面的右下角会出现一个有10个地市的查询进度框(只是不停地在转动,表示正在查,并没有百分比),如果某个地市有结果,这个进度框就显示查询完毕,并且会将查询内容显示在页面中间。我用 httpWatch 软件,嵌入到我的浏览器,现在我可以看到浏览器发送了以下地址,但当我打开这些页面时,却只有第一个能返回内容,其他的都出错,错误内容为:
Error 400:Invalid or expired id: bufalotulo下面是地址:
http://xx.org/gjfx/iviewer/pushlet.srv?p_event=join-listen&p_format=xml-strict&p_mode=pull&p_subject=/requestServicehttp://xx.org/gjfx/iviewer/pushlet.srv?p_event=refresh&p_id=bufalotulohttp://xx.org/gjfx/iviewer/pushlet.srv?p_event=publish&p_subject=/requestService&action=send&glid=410122197301010118&connectionPointId=LGZSDJ&viewerKey=PersonHotel&p_id=bufalotulohttp://xx.org/gjfx/iviewer/pushlet.srv?p_event=refresh&p_id=bufalotulohttp://xx.org/gjfx/iviewer/pushlet.srv?p_event=refresh&p_id=bufalotulo期间,我看了httpWatch的其他内容,发现其发送方式为:get,有cookie,但没有发送。
我分析了一下,发现:p_event=refresh 的意思,应该是重新刷新的意思。
第三个地址应该是最关键的,但是无法返回。只有第一个地址不会出错,而且有返回。
请问,大家知道其原理吗?
给我任何点拨,启发我理解其原理的,都给分。
谢谢了

解决方案 »

  1.   

    Error 400:Invalid or expired id: bufalotuloHTTP 状态码 400:Bad Request。错误的请求,不是id不合法就是过期了,估计你服务器对每次查询都做了验证了,所以你手动打开url会出错。
    你要仿造http请求的话,用firebug看看网络请求,包括参数,hidden,cookie,以及其他信息。
      

  2.   

    web service服务,服务端应该是要验证用户的,或做了其他的验证措施,防止恶意访问的
      

  3.   

    这个肯定是后台验证了。session中没有相关信息,他是不让你继续请求的。
      

  4.   

    你该问你们公司其他程序员 ,光贴这个有什么用  可以用httpClien模拟一下 看看问题出在哪