Fiddler启动时已经将自己注册为系统的默认代理服务器,应用程序在访问网络时会去获取系统的默认代理,如果需要捕获java访问网络时的数据,只需要在启动java程序时设置代理服务器为Fiddler即可

-DproxySet=true

-DproxyHost=127.0.0.1

-DproxyPort=

-D 是java中设置系统变量的方式
下面的帖子很清楚的说明了设置Fiddler为http或者https的代理,包括如何设置https的证书

http://stackoverflow.com/questions/8549749/how-to-capture-https-with-fiddler-in-java

这是官网对这方面的描述:http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

http://www.chentaoqian.com/archives/149

也可以通过程序进行设置(注意:设置代理一定要在程序请求之前)

System.setProperty("http.proxySet", "true");

System.setProperty("http.proxyHost", "127.0.0.1");

System.setProperty("http.proxyPort", "");

在Node Js中这样就行了

var http = require('http');var opt = {host:'127.0.0.1',port:'',method:'POST',path:'http://localhost/php/firstPro/test/weitest.php'}var body = '';var req = http.request(opt,function(res){console.log('Got Response'+ res.statusCode);res.on('data',function(d){ body += d; }).on('end',function(){console.log(res.headers)console.log(body);})});req.write("some data");req.end();

java http 程序设置代理

如果直接用java的 http API进行代理设置,如果是访问本地 ,则要在localhost后面加上. ,这应该是基于安全还是其他什么原因 ,如 http://localhost.:8080/app/index.jsp

    public static String writeBytes(String url ,String data) throws Exception{

        System.setProperty("http.proxySet", "true");

        System.setProperty("http.proxyHost", "127.0.0.1");

        System.setProperty("http.proxyPort", "");

        HttpURLConnection httpURLConnection = (HttpURLConnection)new URL(url).openConnection();

//        httpURLConnection.connect();
httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpURLConnection.setDoInput(true); //true表示允许获得输入流,读取服务器响应的数据,该属性默认值为true
httpURLConnection.setDoOutput(true); //true表示允许获得输出流,向远程服务器发送数据,该属性默认值为false
httpURLConnection.setUseCaches(false); //禁止缓存
httpURLConnection.setReadTimeout(); //30秒读取超时
httpURLConnection.setConnectTimeout(); //30秒连接超时
httpURLConnection.setRequestMethod("POST"); httpURLConnection.setRequestProperty("Content-Length", data.length() + ""); OutputStream writer = httpURLConnection.getOutputStream();
writer.write(data.getBytes());
// writer.write( new byte[]{13,10,13,10} );
writer.flush(); InputStream in = httpURLConnection.getInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
byte[] buff = new byte[];
int len = -;
while((len= in.read(buff)) != -){
buffer.write(buff, , len);
}
String result = buffer.toString("utf-8"); System.out.println(result); return result;
}

用HttpClient进行代理

HttpClient httpclient = new HttpClient(connectionManager);     
HttpHost proxy = new HttpHost("127.0.0.1",);  
httpclient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);

httpclient4 是这样设置,但是在commons-httpclient-3.1.jar 这个是无效的,这样就可以

httpclient.getHostConfiguration().setProxy("localhost", );

Java代码里利用Fiddler抓包调试设置的更多相关文章

  1. 【前端开发】利用Fiddler抓包工具进行本地调试

    解决什么问题: 解决前端在本地联调页面 || 样式 || 脚本时经常修改服务器代码,浪费太多时间. 避免多人同时修改代码产生冲突问题.可以在本地调完代码之后,再贴到服务器上. 其实这个问题老早就开始想 ...

  2. Fiddler抓包调试前端脚本代码

    0.写在前面的话 之前看了阮一峰老师关于互联网协议入门的博客,受益匪浅,接着再去体会了下HTTP协议,就想着看实际网络访问中的那些HTTP请求头和响应是什么样的.Chrome的调试工具的Network ...

  3. 使用Fiddler抓包调试https下的页面

    众所周知https技术诞生以来,一个很重要的作用就是加密通信内容.所以在项目团队将业务站点实施完https改造以后,原先使用fiddler进行抓包的美好生活到头了.其实fiddler本身是支持对于ht ...

  4. 利用Fiddler抓取websocket包

    一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handl ...

  5. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...

  6. Fiddler抓包工具使用详解

    一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强 ...

  7. 利用fiddler和mock调试本地微信网页

    利用fiddler和mock调试本地微信网页 微信公众号网页是比较特殊的页面,普通页面直接打开即可访问,但对于需要请求微信相关接口的部分需要安全域名认证.这导致了使用mock数据进行开发的页面没办法走 ...

  8. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  9. Fiddler抓包工具使用方法

    Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强大的基于事件脚本的子系统 ...

随机推荐

  1. BZOJ4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4990 题意概括 有上下两行长度为 n 的数字序列 A 和序列 B,都是 1 到 n 的排列,若 a ...

  2. 网络流24题 第五题 - PowerOJ1740 CodeVS1905 圆桌问题 二分图多重匹配 网络最大流

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - PowerOJ1740 - 有SPJ - 推荐 题目传送门 - CodeVS1905 - 无SPJ - 0% ...

  3. 一段让自己好好理解reduce的代码

    const pick = (obj, arr) => arr.reduce((acc, curr) => (curr in obj && (acc[curr] = obj[ ...

  4. 极客无极限 一行HTML5代码引发的创意大爆炸

    摘要:一行HTML5代码能做什么?国外开发者Jose Jesus Perez Aguinaga写了一行HTML5代码的文本编辑器.这件事在分享到Code Wall.Hacker News之后,引起了众 ...

  5. django-访问控制

    django自带的用户认证系统提供了访问控制的的功能.   1.只允许登录的用户登录   django的用户可分为两类,一是可认证的用户,也就是在django.contrib.auth.models. ...

  6. 向安装包中添加设备 UDID. 蒲公英内测

    向安装包中添加设备 UDID 前言 注:本文适用于只有苹果个人开发者账号.公司开发者账号.或教育开发者账号的 iOS 开发者. 对于没有企业开发者账号(299$)的开发者来说,要想使用蒲公英将自己的应 ...

  7. C#基础_循环

    1,三元运算符 表达式1?表达式2:表达式3 栗子1:bool result=5>3?true:false; 栗子2: int num=5>3?1:0; 注意事项以及相应规则: 2, 3, ...

  8. oracle中查找和删除重复记录的几种方法总结

    平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删除重复记录的方法(以表CZ为例): 表CZ的结 ...

  9. 虚拟机搭建和安装Hadoop及启动

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  10. Menu实现逻辑

        一.前奏 创建一个WS_EX_NOACTIVATE的窗体 创建窗体后注册Hook消息(鼠标在非Menu区域点击时关闭menu,接收键盘消息用于快捷键,接WM_SETFOCUS消息,当打开新窗体 ...