Android 报错解决办法:I/O error during system call, Connection reset by peer

这个报错苦恼了我半天!后来通过一种方法完美解决了!

但是奇怪的是,android高版本手机就没问题,android低版本手机就会报错,不断复现!

1、异常信息

javax.net.ssl.SSLException: 

SSL handshake aborted: ssl=0x5f938320: I/O error during system call, Connection reset by peer


2、解决办法

//设置SSLContext 
		final SSLContext sslcontext = SSLContext.getInstance("TLS"); 
		sslcontext.init(null, new TrustManager[]{myX509TrustManager}, null);
		HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
HttpsURLConnection urlCon = null;
		urlCon = (HttpsURLConnection) (new URL(urlString)).openConnection();
		urlCon.setReadTimeout(timeOut);
		urlCon.setConnectTimeout(timeOut);

再次编辑补充一下 myX509TrustManager:

private static TrustManager myX509TrustManager = new X509TrustManager() { 

	    @Override 
	    public X509Certificate[] getAcceptedIssuers() { 
	        return null; 
	    } 

	    @Override 
	    public void checkServerTrusted(final X509Certificate[] chain, final String authType) 
	    throws CertificateException { 
	    } 

	    @Override 
	    public void checkClientTrusted(final X509Certificate[] chain, final String authType) 
	    throws CertificateException { 
	    } 
	};


你可能感兴趣的:(前端开发之神)