簡體   English   中英

將代理與Google HTTP Client Library for Java結合使用

[英]Using proxies with Google HTTP Client Library for Java

我使用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();

這不足以滿足您的需求嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM