以前,我用定义TrustManager谈到here为此HTTPGET /客户端和HTTPS
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()返回一个包含HTTPS的字符串:// URL调用)的正常工作。但是,现在我想能够发送相同的url用于gzip压缩的Accept-Encoding标头。我是这样做的
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压缩的网页?)
哦,整齐,谢谢! – 2011-05-05 09:53:51
我还没有测试过这个解决方案,但是它受到Bob Lee博客文章的启发http://blog.crazybob.org/2010/02/android-trusting-ssl-certificates.html – Jcs 2011-05-05 09:56:00