首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查

如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查

原创
作者头像
Jerry Wang
修改2019-12-23 11:30:03
1.6K0
修改2019-12-23 11:30:03
举报

我们使用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 = "https://jerrywang.com:9002/rest/v2/electronics/users/jerry.wang@sap.com";
		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开发者工具的角色。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档