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

我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java

代码发送的HTTP请求明细的情况。和javascript代码在浏览器里发送请求可以通过Chrome开发者工具方便地跟踪一样,对于Java代码发送的网络请求,我们也可以使用工具Fiddler来监控。

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

9c2a9981cb4f1b835fe6dfcef4abba1d.png

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

7dc2c149082d1a05cb226e8229aec1a9.png

使用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:

bbd4b9cfef10779c7b67459acf5b2609.png

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

f17eae3af2f372d87d3fd61699d85d9f.png

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

8afc83514c3a7f709102d79deb0cba88.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql自增id用完了_MySQL 自增 ID 用完了怎么办?

MySQL 自增 ID 用完了怎么办?在MySQL中有很多类型的自增ID,每个自增ID都设置了初始值,然后按照一定的步长增加,只要定义了字节长度,那么就会有上限,如果达到上限再次添加,则会报主键冲突错误&am…

山洪沟防洪治理工程技术规范_幸福沟水库一期工程完工丨尚志城市供水、防洪、农业灌溉皆升级...

日前,尚志市幸福沟水库一期工程建设完成,已蓄水试运行。幸福沟水库工程是列入黑龙江省“十三五”规划的重点水利项目,是哈市重点推进的两座中型水库之一,也是尚志市一项打基础、利长远、惠民生的重大战略民生工程。幸福沟水库位于…

子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承

一、封装概念:隐藏程序内部的具体实现细节,对外提供接口,从而提高程序的安全性。高内聚,低耦合。使用封装的步骤:1、属性私有化,使用private访问修饰符进行修饰2、对外提供 setter/getter 方法 setter设置值…

mysql 社区版密码如何修改_如何用优雅的方法修改MySQL root密码

搭噶好,我系小编,我好久没发文章了啊,今天发文章的原因是,我竟然忘了我的MySQL root密码。。本来想找RAKsmart客服直接重置啥的,后来想想还是自己搞吧,还能长知识。然后,我发现一个事情&#xf…

中countif函数_Count系列函数-Count、Counta、Countblank、Countif、Countifs

统计函数在我们的日常工作中也会经常使用。常见的有Count、Counta、Countblank、Countif、Countifs五个。Count用于统计数据类型的单元格个数,Counta用于统计非空单元格的个数,Countblank用于统计空单元格的个数,而Countif、Countifs用于条件…

labview实例_手把手以实例教你学LabVIEW编程,条件结构编程方法

LabVIEW又称为G语言,简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。在上篇文章(请参考:顺序结构编程)中已经讲了顺序结构的编程方法,下面通过具体例子演示条件结构的编程…

用递归与分治策略求解网球循环赛日程表_算法设计:分治法(比赛日程安排)...

一、算法思路1、思路分治算法的思想是:对于一个规模位N的问题,若该问题可以容易解决(比如规模N较小),则直接解决,否则将其分解为M个规模较小的子问题,这些子问题互相独立,并且与原问题形式相同,…

聚类算法 距离矩阵_谱聚类

比起传统的K-means算法,谱聚类对数据分布的适应性更强,计算量也要小很多。1. 谱聚类概述谱聚类是从图论中演化出来,主要思想是吧所有的数据看作空间中的点,这些点之间可以用边连接起来。距离较远的两个点之间的边权重值较低&#…

vlan划分不能上网_VLAN工作原理

什么是VLANVLAN(Virtual LAN),翻译成中文是“虚拟局域网”。可以看做是在一个物理局域网络上搭建出几个逻辑上分离的几个局域网。举个例子来说,如果一个交换机划分为两个VLAN,则相当于这台交换机逻辑上划分为两个交换机。VLAN的一个简单直观说…

控制for each循环次数_CCF CSP编程题解201312-1:出现次数最多的数

试题编号:201312-1试题名称:出现次数最多的数时间限制:1.0s内存限制:256.0MB问题描述:给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入格式:输入的第一行只有一…

旋流式沉砂池计算_旋流沉砂池设计方法

旋流沉砂池设计接口条件和主要参数设计旋流沉砂池前要确认的接口条件和信息包括:地质、气候等基本设计条件;可用地尺寸及在总图的位置坐标;地坪标高,上下游水位或范围,冻土层高度,管道覆土小深度要求&#…

parallelstream启动的线程数_高并发与多线程网络学习笔记(三)线程组和线程池

线程组线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线程组对象进行组织。构造函数ThreadGroup(String name)//默认parent为当前线程组 ThreadGroup(ThreadGroup parent, String name)具体方法//评估当前活跃的线程数,包括当前group和子g…

pytorch l2正则化_吴恩达深度学习 编程作业六 正则化(2)

推荐守门员应该将球踢到哪个位置,才能让自己的队员用头击中。1.无正则化模型判别是否有正则化与调用其他计算函数。准确率:0.948/0.915明显过拟合overfiting了。2.L2正则化公式如下,在原有cost函数基础上增加L2项,L2为参数w的均方…

vs中工具箱代表的意思_“日”除了代表太阳,其实还有这种意思,特别是出现在这些词语中的“日”...

对于“日”来说,大家都并不陌生,对于日的成语更是多得数不胜数,今天小编将日字成语进行了一个总结,需要用到的朋友们可以收藏!一:以“日”开头的成语,大多数形容的是时间。日积月累、日久天长、…

mysql or走索引吗_加了索引,mysql查询就一定会用吗?

小白白跑去鹅厂面试,面试官提出了一个很实际的问题: mysql增加索引,那些情况会失效呢?谈一下实际工作中遇到的情况。我们的小白白又抛出了白氏秘籍:用不用索引,找DBA小姐姐!啊?这是你…

基本农田卫星地图查询_如何基于西安80坐标查询定位

1. 概述水经注软件除了可以轻松下载无水印Google Earth卫星影像、有明确拍摄日期的历史影像、地方高清天地图、百度高德大字体打印地图,且可按1万/5千等国家标准图幅下载,下载含高度的全国矢量建筑、全国乡镇及街区行政区划、地名点、高速铁路网、公交路…

tcp的无延时发送_高并发架构的TCP知识介绍

这是关于高并发架构网络协议基础知识的第二篇,编程路上的基础心法!做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控。掌握了这些基本的网络知识后,相信一方面日常排错中会事半功倍&#xff0…

如何对一个变量数据进行正则判定_生存分析数据中的BuckleyJamesMultipleRegression Model...

一、模型简介目前,生存分析领域,最常用的是Cox比例风险回归模型,该模型具有良好的特性,不仅可以分析各种自变量对生存时间的影响,而且对基准风险分布不作任何要求(半参数模型)。Cox模型使用时要满足一定的条件&#xf…

格兰杰因果关系检验r语言_R语言系列第四期:R语言单样本双样本差异性检验

之前详细介绍了利用R语言进行统计描述,详情点击:R语言系列第三期:①R语言单组汇总及图形展示、R语言系列第三期:②R语言多组汇总及图形展示、R语言系列第三期:③R语言表格及其图形展示从这个部分我们就开始为大家介绍统…

java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...

1.导入jar包:org.springframework.bootspring-boot-starter-activemqorg.apache.activemqactivemq-pool2.填写配置文件(application.properties)#设置JMS(AMQ)spring.activemq.broker-urltcp://localhost:61616spring.activemq.useradminspring.activemq.passwordad…