使用HttpClient下載文件出現的206問題


寫爬蟲的時候需要下載視頻 遇到206問題

下載報錯前的代碼

try {
            HttpResponse resp = httpclient.execute(httpget);
            if (HttpStatus.SC_OK == resp.getStatusLine().getStatusCode()) {
                HttpEntity entity = resp.getEntity();
                InputStream in = entity.getContent();
                savePicToDisk(in, dirPath, fileName);
                logger.info("下載文件 " + fileName + " 成功....");
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.info("下載文件 "+fileName+" 失敗....");
        } finally {
            httpclient.getConnectionManager().shutdown();
        }

修改后代碼

try {
            HttpResponse resp = httpclient.execute(httpget);
            if (HttpStatus.SC_OK == resp.getStatusLine().getStatusCode() || HttpStatus.SC_PARTIAL_CONTENT == resp.getStatusLine().getStatusCode()) {
                HttpEntity entity = resp.getEntity();
                InputStream in = entity.getContent();
                savePicToDisk(in, dirPath, fileName);
                logger.info("下載文件 " + fileName + " 成功....");
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.info("下載文件 "+fileName+" 失敗....");
        } finally {
            httpclient.getConnectionManager().shutdown();
        }

看到這里懂了吧 其實在文件下載 把206當做200一樣處理就行了 

似乎206是用於做文件續傳 之類的 以后遇到再去研究吧……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM