文档章节

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

谷永权
 谷永权
发布于 2015/08/27 00:18
字数 239
阅读 1953
收藏 5
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的证书导入到信任证书库。

© 著作权归作者所有

谷永权
粉丝 2
博文 6
码字总数 4115
作品 0
成都
程序员
私信 提问
Apache Client使用说明第一章(第二部分)

1.2 HttpClient接口 HttpClient接口代表了HTTP请求执行最重要的约定.它规定了请求执行过程无任何和限制或者特定的细节以及审阅连接管理,状态管理,认证和重定向处理的实现等细节.这使得装饰接...

第五郎
2015/11/05
135
0
httpClient发送的请求是不是用Html协议的啊?

我用httpClient发送一个Post请求,但用监控机器上所有http请求的软件Fiddler却没发现httpClient发送过去的请求!!!这是怎么回事???

jakic
2012/12/21
582
4
Android 使用自带的HttpClient进行https请求出现403的解决过程记录

出现的过程 最近在用程序模拟一个web站的https登录,然后进行一些后续操作的小玩意。先使用java程序写测试代码,测试通过移植到android。 java基于httpclient-4.3.1.jar开发。 android端使用...

atearsan
2014/03/05
6.6K
1
HttpClient以及整合SpringBoot

一、HttpClient 1.1、 前台系统访问后台接口的方式 两个系统间如何互相访问?两个tomcat上的项目如何互相访问 1.2、 什么是HttpClient 官网:http://hc.apache.org/index.html 现在也叫:Htt...

Armymans
2018/11/10
0
0
HttpClient4.3教程 第四章 HTTP认证

HttpClient4.3教程 第四章 HTTP认证 HttpClient既支持HTTP标准规范定义的认证模式,又支持一些广泛使用的非标准认证模式,比如NTLM和SPNEGO。 4.1.用户凭证 任何用户认证的过程,都需要一系列...

youthflies
2013/10/17
455
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
6
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
17
0
浅谈java过滤器Filter

一、简介 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml...

青衣霓裳
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部