日期:2014-05-17  浏览次数:20767 次

请问,通过java,如何对代码里发起的http请求进行抓包?
   我在代码里通过htmlunit访问某个网站,通过html的api模拟点击按钮等操作。

   简单介绍下htmlunit:通过htmlunit是一个开源项目,通过它的接口,可以模拟访问一个url地址,模拟点击按钮等操作。比如我可以通过htmlunit,访问百度,然后登陆百度。

   现在我想知道,我通过htmlunit点击一个按钮时,发起的url的地址是什么(就像ie开发工具里的网络监控)。请问,通过java,如何实现监控http请求,即抓包?
注:我想监控的http请求,是来自我的代码里的请求,而不是通过浏览器或电脑发起的请求。

------解决方案--------------------
引用:
   我在代码里通过htmlunit访问某个网站,通过html的api模拟点击按钮等操作。

   简单介绍下htmlunit:通过htmlunit是一个开源项目,通过它的接口,可以模拟访问一个url地址,模拟点击按钮等操作。比如我可以通过htmlunit,访问百度,然后登陆百度。

   现在我想知道,我通过htmlunit点击一个按钮时,发起的url的地址是什么(就像ie开发工具里的网络监控)。请问,通过java,如何实现监控http请求,即抓包?
注:我想监控的http请求,是来自我的代码里的请求,而不是通过浏览器或电脑发起的请求。


httpclient
------解决方案--------------------
引用:
是这样的,我的代码中通过htmlunit会随机的发出http请求。我想写一个类似过滤器或拦截器的类,监听所有http请求,获得请求的url,Accept-Language等信息,保存到数据库。httpclient好像不行吧?


Filter  HttpHeader应该可以满足你的需求
------解决方案--------------------
是抓包来分析 请求类容 或消息头么  tcp/ip代理不就行了么
------解决方案--------------------
试试这个包:htmlparser.jar
我写了一个放入链接,抓取那个网站的一些数据,放入数据库,我主要针对知识专利资料的抓取。