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. Codeforces 138C Mushroom Gnomes - 2 线段树

    Mushroom Gnomes - 2 感觉没啥东西, 用线段树算算每个被覆盖的概率, 坑点是有很多个在同一个点. #include<bits/stdc++.h> #define LL l ...

  2. MySQL安装详细图解整理

    MySQL安装详细图解 2018-08-19  08:32:33 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win64.zip,双击解压缩,运行“setup.ex ...

  3. 洛谷2973 [USACO10HOL]赶小猪Driving Out the Piggi… 概率 高斯消元

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - 洛谷2973 题意概括 有N个城市,M条双向道路组成的地图,城市标号为1到N.“西瓜炸弹”放在1号城市,保证城 ...

  4. 【noip模拟赛5】任务分配 降维dp

    描述 现有n个任务,要交给A和B完成.每个任务给A或给B完成,所需的时间分别为ai和bi.问他们完成所有的任务至少要多少时间. 输入 第一行一个正整数n,表示有n个任务.接下来有n行,每行两个正整数a ...

  5. centos7.2 使用rpm安装jdk8

    1.下载JDK 去jdk下载页面找到要下载的jdk,用wget下载 wget --no-check-certificate --no-cookies --header "Cookie: or ...

  6. idea模板注释

    类文件头部的注释 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#en ...

  7. CentOS 6.4在运行XFS时系统crash的bug分析

    最近有一台CentOS 6.4的服务器发生多次crash,kernel version 是Linux 2.6.32-431.29.2.el6.x86_64.从vmcore-dmesg日志内容及cras ...

  8. 14,EasyNetQ-使用EasyNetQ.Hosepipe重新提交错误消息

    EasyNetQ队列管理实用程序. 用它从队列中抓取消息并重新发布. 还可以用它来检查错误队列消息并重试它们. 1,用法: EasyNetQ.Hosepipe.exe <command> ...

  9. iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

    iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UICo ...

  10. BZOJ.4767.两双手(组合 容斥 DP)

    题目链接 \(Description\) 棋盘上\((0,0)\)处有一个棋子.棋子只有两种走法,分别对应向量\((A_x,A_y),(B_x,B_y)\).同时棋盘上有\(n\)个障碍点\((x_i ...