JAVA中如何,拦截一个网站返回的页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中如何,拦截一个网站返回的页面相关的知识,希望对你有一定的参考价值。
现在我要通过自己发送一个请求给第三方的网站,然后拦截它的HTML页面然后解析,再放到自己的页面上,有没高人能指点如何能拦下它的HTML页面,而不是在浏览器中输出这个页面。
不是合作开发,我就是想等他返回个页面然后解析,现在就是想问如何得到它返回的页面。代码中该如何写。
1,请求过去,依照http协议,第三方网站会给你返回消息
2,你所需要的是解析消息
3,你肯定知道你想要的是那一部分,假如股票,你肯定知道那个div的id
或者股票的代码或者其他,通过分析http响应的结果,你就知道哪一部分数据时你想要的
4,http协议,不过就是字符串,尤其是你获得的那部分信息希望不是其他的数据类型,假设是可以看懂的文本,你利用StringBuffered存储这个String
5,这样你就可以解析你自己程序中的字符串了(over)
6,ps,如果你想要保留格式,很简单,只需要将解析的string 保留html元素,然后直接输出到你的页面上就ok了
再提示你一点:
1,如果你正常在浏览器上第三方的网站,点一个按钮,消息返回给那个浏览器
2,如果你用自己的程序访问,那消息就返回给你的程序!
这样再不明白,我死不瞑目了 = =!分给我啊 参考技术A 。。。是合作开发吗?
不是的话,别人的页面转向和html页面你无法修改,你只能等他显示后自己想办法去解析并返回到你的页面,这个很难做到实时。。。
是合作开发的话,给第三方提供前台接口和后台接口,当他们执行完相应操作后调你的接口给你传数据。 这样的话你这边的页面转向和第三方可以没关系,用户看完第三方网页点击前台接口链接过来或直接关闭页面在你这边走下一步也没问题(后台接口)。
“不是合作开发,我就是想等他返回个页面然后解析,现在就是想问如何得到它返回的页面。代码中该如何写。”
这种的没弄过,不过想实时获得别人的返回页面在java里好像不可能,如果是我最多是在按钮触发事件里加代码,等待一定时间然后通过js去获取已知html地址的页面内容。(保存读取应该比直接读取好,具体实现没研究过,只能提供部分思路。。。)
拦截器详解
如何使用struts2拦截器,或者自定义拦截器。特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了struts2自带的checkbox拦截器):
这里写一个用户登录拦截的小例子
此实例实现功能:用户需要指定用户名登陆,登陆成功进入相应页面执行操作,否则返回到登陆页面进行登陆,当直接访问操作页面(登陆后才能访问的页面)时则不允许,须返回登陆页面。
首先要创建三个jsp页面
分别用于 登录 成功 图书列表 的页面
然后 要建立我们的Acition类 来进行判断登录
然后配置我们的拦截器
接下来 是struts.xml里的配置
这样 可以实现 当你直接输入登录页面的网址时 如果没有拦截器 会发生永远登不上去的情况 拦截器则避免的这一情况的发生!!!
以上是关于JAVA中如何,拦截一个网站返回的页面的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面