在 Apache HttpClient 4.1.3 中设置 nonProxyHosts

2024-05-16

我实在无法回答这个问题。

如何在 Apache HttpClient 4.1.3 中设置 nonProxyHosts?

在旧的 Httpclient 3.x 中,这非常简单。您可以使用 set NonProxyHosts 方法来设置它。

但现在,新版本没有等效的方法。我一直在浏览 api 文档、教程和示例,但到目前为止还没有找到解决方案。

要设置普通代理,您可以这样做:

    HttpHost proxy = new HttpHost("127.0.0.1", 8080, "http");
    DefaultHttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

有谁知道新版本 httpclient 4.1.3 中是否有用于设置 nonProxyHosts 的开箱即用解决方案,还是我必须自己做

    if (targetHost.equals(nonProxyHost) {
    dont use a proxy
    }

提前致谢。


@moohkooh:这就是我解决问题的方法。

DefaultHttpClient client = new DefaultHttpClient();

//use same proxy as set in the system properties by setting up a routeplan
ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(client.getConnectionManager().getSchemeRegistry(),
    new LinkCheckerProxySelector());
client.setRoutePlanner(routePlanner);

然后你的 LinkcheckerProxySelector() 会喜欢这样的东西。

private class LinkCheckerProxySelector extends ProxySelector {

@Override
public List<Proxy> select(final URI uri) {

  List<Proxy> proxyList = new ArrayList<Proxy>();

  InetAddress addr = null;
  try {
    addr = InetAddress.getByName(uri.getHost());
  } catch (UnknownHostException e) {
    throw new HostNotFoundWrappedException(e);
  }
  byte[] ipAddr = addr.getAddress();

  // Convert to dot representation
  String ipAddrStr = "";
  for (int i = 0; i < ipAddr.length; i++) {
    if (i > 0) {
      ipAddrStr += ".";
    }
    ipAddrStr += ipAddr[i] & 0xFF;
  }

//only select a proxy, if URI starts with 10.*
  if (!ipAddrStr.startsWith("10.")) {
    return ProxySelector.getDefault().select(uri);
  } else {
    proxyList.add(Proxy.NO_PROXY);
  }
  return proxyList;
}

所以我希望这会对你有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Apache HttpClient 4.1.3 中设置 nonProxyHosts 的相关文章

  • 如何在 Nodejs 中创建代理下载

    我想创建一个nodejs服务器 它充当下载文件的代理 即用户点击 在下载按钮上 从nodejs服务器调用get nodejs服务器从不同的服务器获取链接 远程服务器并开始下载 以 TB 为单位 然后将该下载转发给用户 TB 文件不应存储在
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • Node.js 中的 HTTPS 代理服务器

    我正在开发一个node js代理服务器应用程序 我希望它支持HTTP and HTTPS SSL 协议 作为服务器 我目前正在使用node http proxy https github com nodejitsu node http pr
  • 如何使用代理将 boost::asio 连接到 HTTPS 服务器?

    在我们的应用程序中 我们使用 boost asio 来使用 HTTP 和 HTTPS 进行连接 我们还可以使用 HTTP 代理 现在我需要使用代理添加对 HTTPS 服务器的支持 我研究了相当多的样本 发现所需的步骤似乎是 创建到代理的 H
  • nginx server_name 在流块内可能吗?

    目前设置如下 stream server listen 9987 udp server name subdomain EXAMPLE com this line is resulting in an error proxy pass loc
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如何通过 kubectl 代理访问此 Kubernetes 服务?

    我想通过以下方式访问我的 Grafana Kubernetes 服务kubectl 代理服务器 https kubernetes io docs user guide kubectl v1 7 proxy 但由于某种原因 即使我可以使其适用
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • 如何防止 apache http 客户端遵循重定向

    我正在使用 apache http 客户端连接到远程服务器 远程服务器发送重定向 我希望实现我的客户端不会自动遵循重定向 以便我可以提取正确的标头并对目标执行任何我想要的操作 我正在寻找一个简单的工作代码示例 复制粘贴 停止自动重定向以下行
  • Java8,HttpClient,接收“收到致命警报:handshake_failure”

    我们正在尝试访问以下 URL 仅作为示例 https broadly vice com en us article eating out as a feminist https broadly vice com en us article
  • nginx 代理到子目录中的远程 Node.js Express 应用程序

    我完全陷入了这样一种情况 我想在一台服务器上拥有多个节点应用程序 通过让应用程序在不同的端口上运行 我可以正常工作 我可以通过输入 IP 地址和端口来访问应用程序 我想通过使用不同的子目录来代理来自 nginx 服务器的应用程序 如下所示
  • 如何在Java中通过反射调用代理(Spring AOP)上的方法?

    一个接口 public interface Manager Object read Long id 实现该接口的类 Transactional Public class ManagerImpl implements Manager Over
  • 使用 gmail smtp 通过代理发送电子邮件

    尝试在我的 C 应用程序中发送一些电子邮件 我位于代理后面 这无疑是代码无法工作的原因 这是我到目前为止所拥有的 应用程序配置
  • 无法在 $.ajax 请求上设置 HTTP 主机标头

    之前已经以不同的方式讨论过这个主题 但我还没有找到适合我的解决方案 我正在使用jquery 1 7 1 我有一个 REST 风格的 Web 服务 可以返回 JSON 和 XML 但对于这个项目 我需要使用 XML 端点 为了绕过跨域限制 我
  • 如何设置 Corkscrew 通过 Draconian 代理连接到 Github

    我的公司有一个严酷的代理服务器 它阻止我通过 SSH 删除服务器 从而阻止我使用 github 我花了最后一天的时间在网上查看示例 例如 如何通过严格的代理使用 GitHub https stackoverflow com question
  • 在代理后面安装 Laravel

    我正在尝试在 Windows 机器上安装 Laravel 我按照本指南进行操作直至第 11 点 http www wikihow com Install Laravel Framework in Windows http www wikih
  • Facebook - Curl 错误 SSL_CACERT SSL 证书

    我正进入 状态 Curl 错误 SSL CACERT SSL 证书问题 无法获取本地颁发者证书 当要求 Facebook刮我的页面 https developers facebook com tools debug sharing 通过 h
  • 如何在 R 中使用 Torocks5 getURL

    我想使用 TorgetURLR Tor 中的功能正在工作 在 Firefox 中检查 socks5 at port 9050 但是当我在 R 中设置它时 出现以下错误 html lt getURL http www google com f
  • node.js http.request 事件流 - 我的 END 事件去了哪里?

    我正在制定一个狡猾的计划 其中涉及使用 node js 作为另一个服务前面的代理服务器 简而言之 将传入请求分派到静态文件 如果存在 否则 将请求分派给另一个服务 我已经掌握了基础知识 但现在尝试使用 Sencha 来完成整个工作Conne
  • java中的对等点未经过身份验证

    我几乎浏览了所有与此异常相关的帖子 实际上我的问题是我有一个java应用程序 通过它我可以访问一个URL并从中获取响应 点击 URL 的代码是 HttpGet getRequest new HttpGet https urlto esb c

随机推荐

  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用
  • PLS-00103:遇到符号“;”当预期出现以下情况之一时:

    我正在尝试插入用户安全问题的答案 以用于密码重置功能 Ellucian 横幅 v8 提供了一个用于运行此 API 的 API 我对他们的 API 非常陌生 从下面的错误消息来看 我还远远没有正确运行它 任何帮助表示赞赏 我尝试在 Oracl
  • 自定义字符串查询操作的 Linq to NHibernate 可扩展性?

    我希望能够在 NHibernate Linq 表达式中使用自定义字符串查询 举例来说 这只是一个例子 我希望能够选择包含属性的实体 该属性是特定字符串的字谜 var myEntities EntityRepository AllEntiti
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁
  • 如何使用 dql 从数据表中获取唯一值?

    我有一个表 其中有一列存储了各种值 我想使用 dql 从该表中检索唯一值 Doctrine Query create gt select rec school gt from Records rec gt where rec city ci
  • OpenCV 错误:connectedComponents_sub1 中断言失败 (L.channels() == 1 && I.channels() == 1) [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在 OpenCV python 中遇到以下错误 并用 google 搜索了很多 但无法解决 如果有人能为我提供一些线索
  • 接口动态转换

    我有一个类实现 2 个接口并继承 1 个类 所以 一般来说它看起来像这样 class T public A public IB public IC 代码中有一点我有一个IB 但确实可以使用A 我希望动态演员会像这样 IB b ptr new
  • Maven:从构建中排除测试

    我在项目的 src test java 文件夹中有一些类用作测试 当我使用标准 Maven 编译插件运行 Maven 时 这些项目被编译成 class 文件 并包含在打包编译代码的 jar 中 在运行 Maven 和构建我的版本之前 我已经
  • 如何通过 PDO 使用密码哈希来使我的代码更安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的代码实际上可以工作 但它一点也不安全 我不想使用 MD5 因为它不是那么安全 我一直在查找密码哈希 但我不确定如何将其合并到我的代
  • Android 旋转器在旋转时表现得很奇怪

    我有一个片段 里面有各种旋转器 为了让这些微调器显示初始 不可选择 值 我使用自定义 arrayAdapter SpinnerHintAdapter 该类所做的唯一重要的事情是重写 getCount 因此不会显示选择数组的最后一项 这是存储
  • 在 Android 中将 LatLng 偏移一定量的米

    我有一个LatLng对象 我想将它的坐标向东移动 500 米 我找不到为此的内置方法 我见过https gis stackexchange com a 2964 https gis stackexchange com a 2964但我的结果
  • 如何在flutter中绕过SSL证书验证?

    如何在flutter中绕过SSL证书验证 错误 握手异常 客户端中的握手错误 操作系统错误 CERTIFICATE VERIFY FAILED 自签名证书 handshake cc 345 您需要配置 HttpService 以使用自签名
  • iOS uiwebview 在 WebThread 中崩溃

    我正在寻求一些建议或帮助诊断我所看到的这次崩溃 目前 我认为这可能是一个 webkit 错误 但一切皆有可能 因此请提供您可能有的任何见解 Incident Identifier AEB8EE37 E5D4 4975 97F4 2B2038
  • 在 Gnuplot 中填充数据曲线下方的几个部分

    我有一组点 数据 定义一条曲线 我想用贝塞尔曲线平滑绘制该曲线 所以我想填充一些 x 值对之间的曲线下方的区域 如果我只有一对 x 值 那么这并不困难 因为我定义了一组新数据并用 fillcu 绘制它 例子 问题是我想在同一个情节中多次这样
  • 在 Apache HttpClient 4.1.3 中设置 nonProxyHosts

    我实在无法回答这个问题 如何在 Apache HttpClient 4 1 3 中设置 nonProxyHosts 在旧的 Httpclient 3 x 中 这非常简单 您可以使用 set NonProxyHosts 方法来设置它 但现在