将代理与适用于 Java 的 Google HTTP 客户端库结合使用

2023-11-27

我使用 Google HTTP Client Library for Java 发出简单的 JSON 请求并解析响应。当我不通过代理时它效果很好。但现在我想允许我的用户在我的应用程序中使用代理(带有身份验证)功能。我查看了 HttpTransport、HttpRequestFactory 和 HttpRequestInitializer 类,但没有成功。

到目前为止,我只稍微修改了示例(主要是删除了不必要的代码)。那么我应该在代码中的哪里添加代理设置呢?

static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
static final JsonFactory JSON_FACTORY = new JacksonFactory();

<T> T get(String url, Class<T> type) throws IOException {
    HttpRequestFactory requestFactory =
            HTTP_TRANSPORT.createRequestFactory(new HttpRequestInitializer() {
                @Override
                public void initialize(HttpRequest request) {

                    request.setParser(new JsonObjectParser(JSON_FACTORY));
                }
            });
    HttpRequest request = requestFactory.buildGetRequest(new GenericUrl(url));
    return request.execute().parseAs(type);
}

对于使用 google-http-client:1.13.1-beta 的经过身份验证的代理来说,这似乎工作得很好

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT));
HttpTransport httpTransport = new NetHttpTransport.Builder().setProxy(proxy).build();

这还不足以满足您的需求吗?

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

将代理与适用于 Java 的 Google HTTP 客户端库结合使用 的相关文章

随机推荐

  • 如何将 OrderBy 表达式数组传递给方法?

    我正在尝试增强我的存储库 以便它负责订购 我已经应用了来自的答案这个问题就存储库而言 我很确定它已经完成了 我遇到的问题是我不确定现在如何将数组传递给存储库中的方法 编译器一直对我大喊关于委托的事 在上面的链接问题中 作者本质上是在做我想做
  • 如何在 r 中绘制 3D 函数? [复制]

    这个问题在这里已经有答案了 我有一个 3D 函数 比方说 De Jong 函数 fdejong lt function x y return x 2 y 2 我怎样才能以3D方式绘制它的情节 我想实现与维基百科类似的效果 尝试这个 fdej
  • 向 iOS 应用程序添加拖放组件

    如果这看起来很模糊 我深表歉意 但我不知道还能怎么说 我正在尝试构建一个 iPad 应用程序 让用户可以使用他们需要的工具填充工作区 我需要一个让用户将组件拖放到应用程序界面中的示例 例如 如果我有一个应用程序 用户可以制作表单 并且我希望
  • 在Python中从列表元素中查找互斥集合的组合

    在我目前正在进行的一个项目中 我已经实现了大约 80 我希望我的程序完成的任务 我对结果非常满意 在剩下的 20 中 我面临着一个让我有点困惑的问题 不知道如何解决 这里是 我想出了一个包含多个数字 任意长度 的列表列表 例如 listEl
  • Bundler::RubyVersionMismatch:您的 Ruby 版本是 1.9.3,但您的 Gemfile 指定为 2.0.0

    我正在使用带有 Pow Ruby Rails 和一堆有用的 gem 的 Mac 最近 每当我尝试打开我的应用程序时 都会遇到此错误 Bundler RubyVersionMismatch 您的 Ruby 版本是 1 9 3 但您的 Gemf
  • 翻译大量文本数据的最佳方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我有很多文本数据 想将其翻译成不同的语言 我知道的可能的方法 谷歌翻译 API 必应翻译器 API 问题是这些服务都对文字长度 通话次数等都有限制
  • 编辑 jar 内的 .properties 文件,无需解压或更改为 .zip 格式

    我目前参与的一个项目需要加载位于 jar 文件内的属性文件 并且我需要编辑 tat properties 文件 我在谷歌上搜索了一下 看到了实现这个想法的多种不同方法 说我需要将其重命名为 zip 文件 并在再次编辑后转换为 jar 但我对
  • 如何获取 SVG tspan 元素的宽度

    我正在尝试获取 a 的渲染宽度tspan元素 位于textSVG 中的元素 这是我的标记
  • 通过 URL 打开 Native AIR 应用程序?

    我希望人们能够通过 URL 启动 Native AIR 应用程序 我的 AIR 应用程序会读取其中的一些参数并打开到正确的状态 因此 用例是有人浏览我们的网站 然后单击链接 它将打开本机桌面应用程序以查看与其链接关联的正确内容 我知道 iT
  • 从 Matlab 函数返回多个输出变量

    可以说我有一个功能 function A B C test x y z A 2 x B 2 y C 2 z end 当您按运行时 Matlab 仅返回输出参数中的第一个值 A 在这种情况下 是否有一个命令可以放入我的函数中 自动返回所有函数
  • 捕获 ASP.NET UserControls 中未处理的异常

    我动态加载用户控件 将它们添加到 Web 表单的 Controls 集合中 如果用户控件在渲染时导致未处理的异常 我想隐藏它们 因此 我尝试挂钩每个 UserControl 的 Error 事件 但似乎 UserControl 永远不会像
  • SQLITE - 将行正确转换为列

    我有一个包含产品订单表的数据库 如下所示 order id prod code prod color size quantity 1 SHIRT 001 S 10 1 SHIRT 001 M 7 1 SHIRT 001 L 8 1 SHIR
  • XAMLParseException 让我抓狂!

    这个 XAMLParseException 让我抓狂 我在 Visual Studio 1020 中使用 NET 3 5 这是我的 xaml
  • 准备从 Python 2.x 转换到 3.x

    到目前为止 我们都知道 我希望如此 Python 3 正在慢慢开始取代 Python 2 x 当然 大多数现有代码最终移植还需要很多年的时间 但我们现在可以在 2 x 版本代码中做一些事情 以使切换更容易 显然是在看什么是新的3 x 中的版
  • 让 will_paginate 与 Ajax 配合使用的最佳方法

    如果你谷歌 will paginate 和 ajax 最上面的结果是这篇博文 但是 will paginate 的原作者说不使用这个方法 对 SEO 蜘蛛不利 但我无法让原作者的方法起作用 他的 javascript 杀死了我所有的链接 另
  • Datetime.ToString() C# 未按预期工作

    From msdn看来我可以创建自己的格式Datetime ToString 方法通过使用M m d y等等 但是当我尝试一个时 它没有按预期工作 下面的截图就是问题所在 我正期待着7 29 2015但收到了7 29 2015 为什么 看起
  • PHP:file_exists 与stream_resolve_include_path - 哪个性能更好?

    似乎最近 php 开发人员对使用它是否更好感到好奇文件已存在 or Stream resolve include path 检查文件是否存在时 无论是包含它们 缓存系统等 这让我想知道是否有人做过基准测试 以判断哪一个是更好的选择 无论是页
  • 如何创建异构对象集合?

    我想在 a 中使用特征对象Vec 在 C 中我可以创建一个基类Thing从中派生出Monster1 and Monster2 然后我可以创建一个std vector
  • 无法对没有 data_class 的表单使用回调断言

    我正在创建一个名为 IntervalType 的自定义 FormType 我的 IntervalType 将有两个字段 start and end并且将是整数类型 此自定义 FormType 将始终在不使用的情况下使用data class
  • 将代理与适用于 Java 的 Google HTTP 客户端库结合使用

    我使用 Google HTTP Client Library for Java 发出简单的 JSON 请求并解析响应 当我不通过代理时它效果很好 但现在我想允许我的用户在我的应用程序中使用代理 带有身份验证 功能 我查看了 HttpTran