Fiddler2不捕获Java流量

时间:2016-08-16 16:59:07

标签: java proxy fiddler traffic

我正在尝试使用Fiddler2作为代理捕获一些本机Java应用程序HTTPS流量。为此,我遵循了this article on asjava.com

这是我事实上所做的:

  1. 安装并配置Fiddler2作为代理:配置与我提到的文章中提到的相同。

  2. 导出fiddler证书并导入适当的JRE / JDK。我正在使用改编版的Eclipse进行开发,所以我看了 Windows - >偏好 - > Java - >已安装JRE ,检查路径并将其导入为:

    keytool -import -alias fiddlercert -file C:\fiddlerRoot.cer -keystore "C:\Program Files (x86)\Java\jdk6\jre\lib\security\cacerts" -storepass changeit
    
  3. 在我考虑/测试代理设置的Java应用程序中,我写了一个方法:

    public boolean getCookieForUser(String username, String passwd, String system) {
        try {
            DefaultHttpClient httpclient = new DefaultHttpClient();
            try {
                System.setProperty("https.proxyHost", "127.0.0.1");
                System.setProperty("https.proxyPort", "8888");
                HttpPost httpost = new HttpPost(system + ":443/irj/portal");
                List <NameValuePair> nvps = new ArrayList <NameValuePair>();
                nvps.add(new BasicNameValuePair("j_user", username));
                nvps.add(new BasicNameValuePair("j_password", passwd));
                nvps.add(new BasicNameValuePair("j_authscheme", "default"));
                httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
                HttpResponse response = httpclient.execute(httpost);
                HttpEntity entity = response.getEntity();
                EntityUtils.consume(entity);
                for(Cookie cookie:httpclient.getCookieStore().getCookies()){
                    if(cookie.getName().equalsIgnoreCase("MYSAPSSO2")){
                        ApplicationStateController.get()
                               .setSessionCoockie(cookie.getValue());
                        httpclient.getConnectionManager().shutdown();
                        return getMandantForUser(username, passwd, system);
                    }
                }
            } finally {
                httpclient.getConnectionManager().shutdown();
            }
        } catch (Throwable e) {
            e.printStackTrace();
            return false;
        }
        return false;
    }
    
  4. 然后我从Eclipse启动Java应用程序并尝试登录(运行方法getCookieForUser)。这很好用,登录工作。实际上,Fiddler没有显示登录请求,我什么都没看到。

  5. 可能出现什么问题?我错过了什么吗?

0 个答案:

没有答案