Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1313354
  • 博文数量: 932
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10208
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
文章分类

全部博文(932)

文章存档

2021年(1)

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-12-24 16:26:51

我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java
代码发送的HTTP请求明细的情况。和javascript代码在浏览器里发送请求可以通过Chrome开发者工具方便地跟踪一样,对于Java代码发送的网络请求,我们也可以使用工具Fiddler来监控。

打开Fiddler,在connections面板里找到Fiddler监听的端口号8888:

如果是使用Apache的HTTPClient进行网络请求发送,代码如下:

使用HttpHost设置请求代理:

private static void downloadCommerce(){
        HttpHost proxy = new HttpHost("localhost", 8888, "http");
        RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
        CloseableHttpClient client= HttpClientBuilder.create().setDefaultRequestConfig(config).build();

        String url = "";
        String token = "test";
        HttpGet get = new HttpGet(url);
        get.setHeader("Authorization", "Bearer " + token);
            try {
                HttpResponse response = client.execute(get);
                HttpEntity entity = response.getEntity();
                String result = EntityUtils.toString(entity, "UTF-8");
                System.out.println("url: " + result);
            } catch (Exception e){
                e.printStackTrace();
            }
    }

执行Java应用,然后到Fiddler里,看到了监控到的HTTP请求各种明细,比如Java代码里硬编码的OAuth 2的认证token test:

Java代码收到的服务器端返回的错误消息:

这个错误消息在Fiddler里当然也是可以看到的:


在这种场景里,Fiddler扮演的就是类似Chrome开发者工具的角色。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

阅读(1693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~