gpt4 book ai didi

java - 将代理与适用于 Java 的 Google HTTP 客户端库一起使用

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:49 26 4
gpt4 key购买 nike

我使用适用于 Java 的 Google HTTP 客户端库发出简单的 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();

这还不够满足​​您的需求吗?

关于java - 将代理与适用于 Java 的 Google HTTP 客户端库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com