在日常应用中,我们希望代理服务器可以拥有可以进行定制的能力,比如在浏览器透明的情况下修改浏览器的请求内容,响应结果,我们可以用browsermob来实现这一功能.
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core</artifactId>
<version>2.1.5</version>
</dependency>
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(3022);//设置端口
proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);
proxy.newHar("har");
proxy.addRequestFilter(new RequestFilter() {
@Override
public HttpResponse filterRequest(HttpRequest request, HttpMessageContents contents, HttpMessageInfo messageInfo) {
String url = messageInfo.getOriginalUrl();//获取连接
if(url.contains("search.json")){//判断目标请求

本文介绍了如何使用Java和BrowserMob创建一个代理服务器,以在浏览器透明情况下修改HTTP请求和响应。通过这个代理,可以实现请求内容的修改以及响应结果的获取。例如,在数据采集场景中,当需要调整请求参数如每页条数时,或者要直接处理AJAX接口的响应,BrowserMob代理能提供便捷的解决方案。
最低0.47元/天 解锁文章
4992

被折叠的 条评论
为什么被折叠?



