java proxyhost,为什么在运行Java应用程序时proxyHost / proxyPort不起作用?

I have a java app that talks to some REST services, and I want to look at the HTTP traffic using Fiddler.

Fiddler acts as a proxy on localhost:8888, so the following Java VM options are supposed to configure java to use this proxy:

-Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888

However, if I pass these parameters when running the java app that I want to debug, I see no traffic in Fiddler.

I wrote a test Java app that simply performs an HTTP GET using HttpURLConnection.

I can view the HTTP traffic from this app in fiddler, if I specify the above-mentioned command-line parameters when debugging it from Eclipse.

What are the reasons that http.proxyHost/Port might not work for all java HTTP operations?

解决方案

You can tell HttpClient to honor the JDK system arguments using the below code (HttpClient 4.x).

public static final DefaultHttpClient HTTP = new DefaultHttpClient();

ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(HTTP.getConnectionManager().getSchemeRegistry(),

ProxySelector.getDefault());

HTTP.setRoutePlanner(routePlanner);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这段代码中的冒号是三目运算符的语法,用于判断 proxyhost 是否为 NULL,如果是,则使用 host,否则使用 proxyhost。最终将 host 或 proxyhost 作为参数传递给 Socket 函数。 ### 回答2: 在给定的代码段中,冒号(:)用作条件运算符的一部分。条件运算符也被称为三元运算符,它允许我们在单个语句中根据条件执行不同的操作。 语法:condition ? value1 : value2 条件运算符的工作方式如下: - condition是一个条件表达式,它返回一个布尔值(true或false)。 - 如果条件为true,表达式的结果为value1。 - 如果条件为false,表达式的结果为value2。 在给定的代码中,冒号处于条件运算符的第二部分(即value1和value2之间),用于指定在条件为false时应执行的操作。具体而言,它根据proxyhost是否为NULL来决定使用host还是proxyhost作为参数来创建Socket对象。如果proxyhost为NULL(即条件为false),则使用host作为参数创建Socket对象;如果proxyhost不为NULL(即条件为true),则使用proxyhost作为参数创建Socket对象。 ### 回答3: 这段代码中的 ":" 是条件运算符中的一个组成部分。条件运算符是一个三元运算符,也被称为 "条件表达式"。它的形式是: 条件 ? 表达式1 : 表达式2 条件运算符根据给定的条件的结果来决定返回表达式1还是表达式2。 在给定的代码中,条件是 "proxyhost == NULL",如果满足这个条件,则返回 ":" 右边的表达式 "host" 的值,否则返回 ":" 左边的表达式 "proxyhost" 的值。最终,将返回值作为参数,用于创建一个 Socket 对象 i。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值