【问题标题】:Viewing Http Calls With Fiddler - Can't see Java Programs Http Traffic使用 Fiddler 查看 Http 调用 - 看不到 Java 程序 Http 流量
【发布时间】:2014-01-13 21:28:31
【问题描述】:

我正在尝试查看我使用 Fiddler 发送的 Http 请求。我在 Windows 8 上。我已经在所有可见的应用程序上启用了环回。但是,我正在运行应用程序命令行。我正在运行 java 应用程序的主程序,但它看不到此流量。从浏览器发送的所有内容都会被记录下来。但是我的 java 应用程序中什么都没有?那是怎么回事?这只是一个从 java Main() 发出 http 调用的简单应用程序。就是这样。

我按照这里的步骤操作:how to Capture https with fiddler, in java

但在 Windows 上似乎找不到密钥库。一方面,它在没有扩展名的情况下生成。所以我复制到 FiddlerKeystore.jks

-DproxySet=true

-DtrustAnchors=true

-DproxyHost=127.0.0.1

-DproxyPort=8888

-Djavax.net.ssl.trustStore=c:\txi\FiddlerKeystore.jks \ 尝试使用一个和两个斜杠

-Djavax.net.ssl.trustStorePassword=Guest1432

【问题讨论】:

  • 您的应用程序是在进行 HTTP 还是 HTTPS 调用?如果它只是 HTTP,我认为您不需要密钥库的东西。只是代理的东西。

标签: java http rest fiddler


【解决方案1】:

JVM 不一定会读取您系统的 HTTP 代理设置。您需要手动将 fiddler 设置为您的 HTTP 代理。

假设 fiddler 正在监听 8000 端口:

java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8000 [yourjar]

【讨论】:

  • 好吧,我在 Windows 上遇到了一些问题。我已指定:
  • -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 -Djavax.net.ssl.trustStore=C:\path\FiddlerKeystore -Djavax.net.ssl.trustStorePassword=
  • 但是好像找不到。
  • 它需要密钥库但找不到它。
  • 我更新了我的问题,详细介绍了我所尝试的方法。好像它不喜欢密钥库。
【解决方案2】:

如果您愿意,可以使用 Eclipse 代理流量。如果你愿意,有说明here

【讨论】:

  • 不,它没有,它充当 HTTP 代理。
  • @EdwardThomson 哇——完全不知道!我删除了关于它通过 DLL 工作的部分。我认为我过去在使用 Fiddler 时遇到的问题是使用通过裸 Socket 连接的 Java 应用程序......
  • @mattforsythe 究竟是什么让套接字“裸露”?在这种情况下,如果应用使用不支持代理的 HTTP 实现,显然会出现问题,但这不是一回事。
  • @millimoose 使用 Socket 库而不是 HTTP 库来执行诸如检查 HTTP 代理设置之类的操作。
  • @mattforsythe 是的,这是有道理的,我现在明白了。不同的应用程序可以使用不同的 java HTTP 库,它们都有自己的代理设置方式。真的很令人失望。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多