在Google HTTP Client Library for Java中使用代理

Oli*_*ire 4 java http-proxy google-http-client

我使用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);
}
Run Code Online (Sandbox Code Playgroud)

Wil*_*iam 6

这似乎适用于使用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();
Run Code Online (Sandbox Code Playgroud)

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