[英]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.