【问题标题】:Charles monitor terminal request查尔斯监控终端请求
【发布时间】:2017-12-14 07:47:44
【问题描述】:

有没有办法监控终端等应用程序的请求?现在我可以监控 chrome 但其他应用程序不能。

我的 charles 的版本是 4.2

【问题讨论】:

    标签: charles-proxy


    【解决方案1】:

    我认为这取决于您尝试监控的命令行。要纯粹捕获从终端发出的 http 请求,您只需设置环境变量“http_proxy”,例如:

    $ export http_proxy="http://localhost:8888"
    $ curl "http://www.google.com"
    

    这将使 Charles 捕获对 Google 的 HTTP 请求,但这可能不会发生在从该终端启动的所有应用程序中。您可能必须找到在其他应用程序上配置代理的方法。

    举个例子,如果你想从你正在开发的java应用程序捕获http请求,你需要在java命令行中添加正确的代理配置,比如: p>

    $ JAVA_FLAGS="-Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=8888"
    $ java $JAVA_FLAGS ...
    

    要使用 Charles 启用 HTTPS 嗅探,您需要将证书添加到 JVM 的密钥库:

    $ keytool -import -alias charles -file charles-ssl-proxying-certificate.cer -keystore $JAVA_HOME/jre/lib/security/cacerts
    

    请注意

    • cacerts 文件位置可能因 Java 版本而异 (在 Java 10 上,它位于 $JAVA_HOME/lib/security/ 下)
    • 密码 cacerts 文件,如果未更改,则为:changeit(因此请考虑更改)

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2010-12-21
      相关资源
      最近更新 更多