给HttpClient配置代理以使用Fiddler拦截发送的请求

import java.io.File;

import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class ProxyHttpClient {

    public static void main(String[] args) throws Exception {
        FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("file:" + new File("./ProxyHttpClient.xml").getCanonicalPath());
        try {
            HttpClient client = context.getBean(HttpClient.class);
            HttpResponse response = client.execute(new HttpGet("http://cn.bing.com/"));
            String contentType = response.getFirstHeader("Content-Type").getValue();
            System.out.println(IOUtils.toString(response.getEntity().getContent(), contentType.substring(contentType.lastIndexOf(‘=‘) + 1)));
        } finally {
            context.close();
        }
    }

}
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
	<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClients" factory-method="custom">
		 <property name="proxy">
			<bean class="org.apache.http.HttpHost">
				<constructor-arg index="0" value="127.0.0.1"/>
				<constructor-arg index="1" value="8888"/><!--8888是我机器上Fiddler代理服务器的端口号 -->
			</bean>
		</property>
	</bean>
	<bean id="httpClient" factory-bean="httpClientBuilder" factory-method="build" destroy-method="close"></bean>
</beans>

如果要拦截https请求,那么需要把Fiddler的证书导入到信任证书库。

时间: 2024-12-13 21:28:24

给HttpClient配置代理以使用Fiddler拦截发送的请求的相关文章

fiddler模拟发送post请求

模拟发送post请求:把原接口请求的textview内容复制,粘贴到body中去 需要以表单形式发送数据时,要添加请求头content-type 原文地址:https://www.cnblogs.com/come202011/p/12262452.html

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比 在项目中需要使用http调用接口,实现了两套发送http请求的方法,一个是使用apache的httpclient提供的http链接池来发送http请求,另一个是使用java原生的HttpURLConnection来发送http请求,并对两者性能进行了对比. 使用httpclient中的链接池发送http请求 使用最新的4.5.2版httpclient进行实现.在maven中引入 <

利用fiddler模拟发送json数据的post请求

fiddler是调试利器,有许多好用的功能,这里简单的介绍一下利用fiddler模拟发送post请求的例子 先简单介绍一下失败的例子,最后给出正确的方法 在fiddler里边按照图上所示的设置好之后,点击右上角的execute,会报错 看下原因说的是后端不支持你提交数据的格式,也就是你发送的数据格式不对,可以添加请求头即可 如图设置 这样就ok了 利用fiddler的模拟post请求的时候,自己可以根据报错,修改就ok

Fiddler拦截http请求修改数据

1.拦截http请求 使用Fiddler进行HTTP断点调试是fiddler一强大和实用的工具之一.通过设置断点,Fiddler可以做到: ①修改HTTP请求头信息.例如修改请求头的UA,Cookie,Referer信息,通过"伪造"相应信息达到相应的目的(调试,模拟用户真实请求等). ②构造请求数据,突破表单的限制,随意提交数据.避免页面js和表单限制影响相关调试. ③拦截响应数据,修改响应实体. 设置断点共有两种方式: ①fiddler菜单栏->rules->autom

burpsuite2.0模块简介及配置代理

burpsuite2.0的安装和配置 burpsuite_pro_v2.0beta jdk1.8.0_201 windows10 具体安装过程百度 简介 burpsuite是基于Java的用于web安全的工具,能够进行爬虫.代理.编码.密码爆破等任务,并支持对XSS漏洞.文件包含等漏洞的主动扫描或被动扫描.burpsuite2.0具体分为以下11个模块: Dashboard(仪表盘)——显示任务.实践日志等. Target(目标)——显示目标目录结构的的一个功能. Proxy(代理)——拦截HT

如何配置能让fiddler抓去https的请求?

1.打开fiddler,>>Tools>>Fiddler Options, 打开如图所示的HTTPS配置项: 点击Export Rppt Certifica to Desktop  : 桌面上多了一个证书: 下面就是将证书导入: 点击开始-运行,输入:mmc,打开如下图所示页面,点击红框菜单 最后点击完成,确定!    选择之前导出的证书文件,一路到底! 配置完毕! 转自 http://wangsheng14591.blog.163.com/blog/static/32779710

OAM配置代理手册

 创建webgate与ohs共享实例,copy文件到ohs实例目录. 1)进入webgage部署工具目录       Cd  /%webgate_home%/webgate/ohs/tools/deployWebGate 2)执行部署命令:     ./deployWebGateInstance.sh –w /%wt_home%/ /instances/instance1/config/OHS/ohs1–oh /%webgate_home% -w 参数后跟的是 OHS实例的文件夹路径 -oh

npm配置代理

有时候可能因为使用代理,使用npm下载node模块会报"proxy"相关的错误,error提示ECONNECT,好像是这么拼的. 解决办法 1 配置代理 npm config set proxy=http://username:[email protected]:8080 2 配置镜像网址 npm config set registry http://r.cnpmjs.org

Ubuntu 12.04使用cntlm配置代理上网

背景 公司网络使用了域账号管理机制,上网必须配指定的机器名和域名,并需要密码,访问网站时经常弹出输入用户名密码的窗口,很多软件都不能自动升级,而且Console模式下apt-get也不能使用:使用cntlm就可以解决上述问题.步骤如下: 代理环境下IT环境配置 1.首先,安装cntlm工具(工欲善其事必先利其器么) 软件官网:http://cntlm.sourceforge.net # 直接下载deb安装包进行安装 sudo dpkg -i cntlm_0.92.3_amd64.deb 2.修改