Ранее я использовал пользовательский TrustManager, о котором говорилось здесь , чтобы сделать это
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
MyXMLHandler mHandler = new MyXMLHandler();
xr.setContentHandler(mHandler);
xr.parse(new InputSource(buildUrlString()));
(где buildUrlString () возвращает строку, содержащую URL-адрес https: // для вызова), который работаетхорошо.Тем не менее, я хочу теперь иметь возможность отправлять тот же URL заголовок Accept-Encoding для сжатия gzip.Я могу сделать это следующим образом
HttpUriRequest request = new HttpGet(buildUrlString());
request.addHeader("Accept-Encoding", "gzip");
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
InputStream instream = response.getEntity().getContent();
Header contentEncoding = response.getFirstHeader("Content-Encoding");
if ((contentEncoding != null)
&& contentEncoding.getValue().equalsIgnoreCase("gzip"))
{
instream = new GZIPInputStream(instream);
}
xr.parse(new InputSource(instream));
, но это возвращает ошибку «Ненадежный сертификат сервера», которую я хочу игнорировать.Как мне сделать это сделать HTTPS?В качестве альтернативы, есть ли лучший способ сделать это?(И нужно ли мне сначала что-то проверить, чтобы убедиться, что телефон действительно может принять gzip-страницы, о которых я говорю, что это возможно?)