使用DefaultHttpClient在Android 2.2 FroYO上无法解析

问题描述

|| 我在Android 2.2上使用ssl有一些困难 我为ssl定制的Http客户端可以在较早和较早版本的Android上正常运行, 但是在2.2版的https请求上并不能全部运行。 这是我的代码
public class SSLHttpClient extends DefaultHttpClient {

    final Context context;

    public SSLHttpClient(Context context,HttpParams params) {
        super(params);
        this.context = context;
    }

    @Override
    protected ClientConnectionManager createClientConnectionManager() {
        SchemeRegistry registry = new SchemeRegistry();
        registry.register(new Scheme(\"http\",PlainSocketFactory
                .getSocketFactory(),80));

        registry.register(new Scheme(\"https\",newSslSocketFactory(),443));
        return new SingleClientConnManager(getParams(),registry);
    }

    private SSLSocketFactory newSslSocketFactory() {
        try {           
            SSLSocketFactory sf = new SSLSocketFactory(keyStore,\"\",trustStore);

                 //---------some code--------------------------------------

            return sf;
        } catch (Exception e) {
            throw new AssertionError(e);
        }
    }
} 
我找到了一些类似的文章,但它们并不能解决我的问题。 也许有人面对这样的问题。 提前致谢......     

解决方法

        这样的配置对我有用(无需添加80端口即可对其进行测试):
SchemeRegistry   registry         = new SchemeRegistry();
SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory();
sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
registry.register(new Scheme(\"https\",sslSocketFactory,443));
SingleClientConnManager manager = new SingleClientConnManager(params,registry);