为了账号安全,请及时绑定邮箱和手机立即绑定

连接失败,.getResponseCode() 不等于200,执行的是getErrorStream(),怎么破?

@Override
public void run() {
   try {
       System.out.println("start download");

       URL httpUrll = new URL(url);
       HttpURLConnection httpURLConnection = (HttpURLConnection) httpUrll.openConnection();

       httpURLConnection.setDoInput(true);
       httpURLConnection.setDoOutput(true);

       InputStream inputStream;
       if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
           inputStream = httpURLConnection.getInputStream();
       } else {
           inputStream = httpURLConnection.getErrorStream();
           System.out.println("error+++++++++++++++++");
       }

       FileOutputStream fileOutputStream = null;

       File downloadFile;
       File sdkFile;
       if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
           downloadFile = Environment.getExternalStorageDirectory();
           sdkFile = new File(downloadFile, "test.apk");

           fileOutputStream = new FileOutputStream(sdkFile);
       }

       byte[] bytes = new byte[6 * 1024];
       int length;

       System.out.println("is here");

       while ((length = inputStream.read(bytes)) != -1) {
           if (fileOutputStream != null) {
               fileOutputStream.write(bytes, 0, length);
           }
       }

       if (fileOutputStream != null) {
           fileOutputStream.close();
       }

       if (inputStream != null) {
           inputStream.close();
       }

       System.out.println("download success");


   } catch (MalformedURLException e) {
       e.printStackTrace();
   } catch (IOException e) {
       e.printStackTrace();
   }
}

正在回答

1 回答

把.getResponseCode()的结果打印出来,有可能是网络连接的问题



0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android中的WebView实战详解
  • 参与学习       32827    人
  • 解答问题       51    个

在App中玩转Web页面,介绍介绍WebView是什么、怎么使用

进入课程

连接失败,.getResponseCode() 不等于200,执行的是getErrorStream(),怎么破?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信