当前位置:   article > 正文

android sdk unexpected http status 416,Android http协议转换https协议 6.0以下版本 网络请求失败解决方法...

download interrupted: unexpected http status 416

方法1:只需要在启动程序加载界面前添加下面代码

SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());

方法2:在网络请求数据时,添加自定义证书,请求是添加:

/**

* 自定义证书,HTTPS连接

*/

public static void GetNetWork() {

try {

String path = "https://192.168.1.123:8080/index.html";

BasicHttpParams params = new BasicHttpParams();

HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

HttpProtocolParams.setContentCharset(params,

HTTP.DEFAULT_CONTENT_CHARSET);

HttpProtocolParams.setUseExpectContinue(params, true);

SSLSocketFactory.getSocketFactory().setHostnameVerifier(

new AllowAllHostnameVerifier());

SchemeRegistry schReg = new SchemeRegistry();

schReg.register(new Scheme("http", PlainSocketFactory

.getSocketFactory(), 80));

schReg.register(new Scheme("https", SSLTrustAllSocketFactory

.getSocketFactory(), 443));

ClientConnectionManager connMgr = new ThreadSafeClientConnManager(

params, schReg);

DefaultHttpClient client = new DefaultHttpClient(connMgr, params);

HttpGet request = new HttpGet(path);

HttpResponse httpResponse = client.execute(request);

int responseCode = httpResponse.getStatusLine().getStatusCode();

String message = httpResponse.getStatusLine().getReasonPhrase();

HttpEntity entity = httpResponse.getEntity();

if (responseCode == 200 && entity != null) {

Log.e("log", entity.toString());

}

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

转载自  https://blog.csdn.net/qq_25462179/article/details/80264293

https://blog.csdn.net/u012929068/article/details/54910610 参考。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/259666
推荐阅读
相关标签
  

闽ICP备14008679号