我有需要使用Spring的RestTemplate使用HttpClient設置某些參數。在從Android 6.0中刪除HttpClient,我如何使用RestTemplate?
HttpComponentsClientHttpRequestFactory.getHttpClient()
HttpClient httpClient = new HttpClient();
httpClient.getParams().setSoTimeout(prefs.getServerTimeout());
httpClient.getParams().setConnectionManagerTimeout(3000);
httpClient.getParams().setContentCharset("UTF-8");
httpClient.getParams().setCredentialCharset("ISO-8859-1",)
...
CommonsClientHttpRequestFactory requestFactory = new CommonsClientHttpRequestFactory(httpClient);
requestFactory.setReadTimeout(prefs.getServerTimeout());
RestTemplate restTemplate = new RestTemplate(requestFactory);
目前使用無處不在HttpClient的,例如指向棄用的一個附帶的Android:
我目前通過做到這一點。
由於它已被棄用,並從6.0中刪除Android,我該如何去繼續使用RestTemplate的HttpClient對象?
由於他們共享相同的包(org.apache.http.client),我不知道如何使這項工作在6.0前/後。
(我嘗試使用HttpClient的,Android和HttpComponentsClientHttpRequestFactory沒有設置的HttpClient,然後好像是用CloseableHttpClient,但該方法的簽名是過時的HttpClient提到。)
指針將不勝感激。
嗯,我環顧四周,但沒有找到好的方法來設置我需要的參數,最重要的是指定了用於基本認證憑證的字符集。 HttpClient是我找到它的唯一地方。 – Mathias
在OKHttp中如何呢?Request.Builder reqBuilder = new Request.Builder()。addHeader(「Accept-Charset」,「utf-8」)'''。 你也可以有其他的字符集。 –