日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現基于http協議的網絡文件下載

瀏覽:22日期:2024-03-03 16:18:48

1.HTTP協議工作方式

基于HTTP協議的客戶/服務器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、獲取服務器響應狀態、關閉連接。其中較為復雜的過程是:發送請求信息、獲取服務器響應狀態.

1)向服務器發送請求信息

一個HTTP請求由一個請求行、可選數目的請求標題、一個空白行,以及在POST情況下的一些額外的數據組成。請求行的格式是:

Method Request-URI HTTP-Vsersion CRLF

Method表示請求方法,如GET和POST

Request-URI標識了要請求的資源,

HTTP-Version表示請求的HTTP協議版本,

CRLF表示回車換行。

HTTP請求報文格式如下:

HTTP Command:;;;;//方法字段(GET方法,POST方法)

URI:;;;;;//URL字段,發送請求至保存該網站的服務器。

HTTP Version:;;;;//http協議版本字段

Accept:;;//指示可被接受的請求回應的介質類型范圍列表。

Accept-Language:;//限制了請求回應中首選的語言為簡體中文,否則使用默認值。

Accept-Encoding:;//限制了回應中可接受的內容編碼值

User-Agent: //定義用戶代理,即發送請求的瀏覽器類型

Host:;;;;//定義了目標所在的主機

Connection: //告訴服務器使用連接類型

2)獲取服務器響應狀態

在發送HTTP請求行以后,程序就可以讀取服務器的響應狀態了。HTTP響應狀態行包括:HTTP 狀態碼和一些HTTP響應標題。

HTTP回應報文

HTTP Version: HTTP/1.1;;;;//服務器用的是HTTP/1.1版本

HTTP Status: 200;;//請求成功,信息可以讀取,包含在響應的報文中

Date:;;;;;//響應報文的時間

Server:;;;//響應報文的服務器

X-Powered-By:;;;;;//表明運行環境

Set- cookie: //

Vary:;;;;;//

Content-Length:;;//表明實體的長度

Connection: //告訴客戶機在報文發送完畢后連接的狀態

Content-Type:;;;//表明實體中的對象類型(html文檔)

Binary Data:;;;//二進制數據

狀態碼表示響應類型,常用的有:

1××保留

2××表示請求成功地接收

3××為完成請求客戶需進一步細化請求

4××客戶錯誤

5××服務器錯誤

在程序中間,如果讀到“HTTP/1.1 200 OK這樣的字符串,表明欲下載文件存在、該服務器支持斷點續傳,可以使用多線程下載。如果讀到“HTTP/1.0 200 OK這樣的字符串,表明欲下載文件存在、但該服務器不支持斷點續傳,只可以使用單線程下載。

2.實現代碼

Java代碼

import java.io.IOException;

import java.io.InputStream;

import java.io.RandomAccessFile;

import java.net.HttpURLConnection;

import java.net.URL;

public class TestDownFile {

public static void main(String[] args){

String sURL ="http://localhost:8080/hrproject/book.rar";

int nStartPos=0;

int nRead=0;

String sName="book.rar";

String sPath="e:temp";

try {

URL url = new URL(sURL);

//打開連接

HttpURLConnection httpConnection = (HttpURLConnection) url

.openConnection();

//獲得文件長度

long nEndPos =getFileSize(sURL);

RandomAccessFile oSavedFile= new RandomAccessFile(sPath+""+sName, "rw");

httpConnection.setRequestProperty("User-Agent", "Internet Explorer");

String sProperty = "bytes=" + nStartPos + "-";

//告訴服務器book.rar這個文件從nStartPos字節開始傳

httpConnection.setRequestProperty("RANGE", sProperty);

System.out.println(sProperty);

InputStream input = httpConnection.getInputStream();

byte[] b = new byte[1024];

//讀取網絡文件,寫入指定的文件中

while ((nRead = input.read(b, 0, 1024)) > 0

&& nStartPos < nEndPos ) {

oSavedFile.write(b, 0, nRead);

nStartPos += nRead;

}

httpConnection.disconnect();

} catch (Exception e) {

e.printStackTrace();

}

}

//; 獲得文件長度

public static long getFileSize(String sURL) {

int nFileLength = -1;

try {

URL url = new URL(sURL);

HttpURLConnection httpConnection = (HttpURLConnection) url

.openConnection();

httpConnection.setRequestProperty("User-Agent", "Internet Explorer");

int responseCode = httpConnection.getResponseCode();

if (responseCode >= 400) {

System.err.println("Error Code : " + responseCode);

return -2; // -2 represent access is error

}

String sHeader;

for (int i = 1i++) {

sHeader = httpConnection.getHeaderFieldKey(i);

if (sHeader != null) {

if (sHeader.equals("Content-Length")) {

nFileLength = Integer.parseInt(httpConnection

.getHeaderField(sHeader));

break;

}

} else

break;

}

} catch (IOException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

System.out.println(nFileLength);

return nFileLength;

}

}

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲视频综合| 日韩av资源网| 97精品国产| 精品福利久久久| 国产无遮挡裸体免费久久| 亚洲一区二区三区免费在线观看 | 日韩高清电影免费| 日韩三级精品| 国产日韩欧美三区| 欧美精品91| 国产69精品久久| 色偷偷偷在线视频播放 | 国产激情一区| 成午夜精品一区二区三区软件| 亚洲欧美视频| 久久免费国产| 国产999精品在线观看| 国产精品尤物| 精品三级久久| 99久久久久久中文字幕一区| 国产精品日本| 国产中文字幕一区二区三区| 日本成人中文字幕| 国产亚洲久久| 久久一区精品| 日本免费一区二区三区四区| 黄色日韩精品| 欧美一区影院| 91日韩在线| 国产精品99一区二区| 亚洲精品a级片| 日韩欧美中文在线观看| 日本成人在线不卡视频| 国产精品啊啊啊| 五月激情久久| 国产视频一区三区| 日韩成人免费| 国产91一区| 综合亚洲视频| 久久一区亚洲| 好吊一区二区三区| 日韩国产在线观看| 黑森林国产精品av| 亚洲视频播放| 国产极品模特精品一二| 久久高清免费| 日韩精品欧美成人高清一区二区| 国产亚洲人成a在线v网站| 国产专区精品| 亚洲精品123区| 国产高清亚洲| 亚洲视频播放| 国产成人a视频高清在线观看| 好看不卡的中文字幕| 国产精品流白浆在线观看| 欧美成人久久| 国产高清亚洲| 玖玖玖国产精品| 日韩av自拍| 少妇高潮一区二区三区99| 国产在线观看www| 亚洲精品免费观看| 国产福利电影在线播放| 一区二区三区四区日韩| 国产一区二区三区四区| 天堂成人免费av电影一区| 精品中国亚洲| 男女性色大片免费观看一区二区 | 亚洲第一精品影视| 欧美日韩va| 欧美女激情福利| 国产免费播放一区二区| 国产高清一区| 韩国女主播一区二区三区| 蜜桃久久久久久| 成人日韩精品| 国产日本久久| 香蕉久久久久久久av网站| 欧美xxxx中国| 啪啪亚洲精品| 亚洲免费网址| 久久精品卡一| 日产精品一区二区| 欧美aa在线视频| 日本在线视频一区二区| 亚洲激情偷拍| 热久久久久久久| 日韩精品电影| 你懂的亚洲视频| 88久久精品| 国产精品试看| 欧洲在线一区| av免费不卡国产观看| 国产伦理一区| 亚洲精品美女| 久久国产精品久久w女人spa| 欧美精品高清| 国内精品麻豆美女在线播放视频| 日韩国产一区二| 噜噜噜久久亚洲精品国产品小说| 久久天堂av| 久久久久久一区二区| 国产精品一卡| 日韩精品久久久久久久软件91| 国产精品毛片| 99热免费精品| 中文亚洲免费| 久久亚洲美女| 美女日韩在线中文字幕| 蜜桃tv一区二区三区| 欧美黄色网页| 四虎884aa成人精品最新| 久久久久免费| 久久久久久自在自线| 欧美国产极品| 国产精品久久乐| 日韩国产在线观看一区| 日韩中文字幕在线一区| 亚洲欧洲日韩精品在线| 蜜桃免费网站一区二区三区| 热久久久久久久| 综合色就爱涩涩涩综合婷婷| 男女男精品网站| 亚洲欧美专区| 日本欧美久久久久免费播放网| 日本免费一区二区视频| 91精品视频一区二区| 久久国产麻豆精品| 国产精品一区毛片| 麻豆免费精品视频| 日韩av自拍| 四虎影视精品| 午夜国产欧美理论在线播放 | 久久香蕉网站| 国产成人精品一区二区免费看京| 高清不卡一区| 久久久久99| 伊人成人在线视频| 亚洲欧美日韩精品一区二区| 在线精品福利| 日本aⅴ免费视频一区二区三区| 欧美日韩1区| 麻豆成人av在线| 精品久久久久久久| 成人啊v在线| 亚洲在线网站| 日韩精品免费视频人成| 久久不卡国产精品一区二区| 91麻豆国产自产在线观看亚洲| 久久高清免费| 一区二区三区国产盗摄| 日韩免费精品| 精品日本视频| 极品裸体白嫩激情啪啪国产精品| 美美哒免费高清在线观看视频一区二区| 人人精品久久| 精品福利久久久| 免费视频一区三区| 免费精品视频| 欧美日韩亚洲一区| 欧美激情精品| 亚洲婷婷在线| 日韩精品一区二区三区中文| 国产一区二区三区久久| 精品国产一区二区三区噜噜噜| 国产精品porn| 日韩欧美不卡| 鲁大师影院一区二区三区| 国产精品男女| 欧美日韩在线二区| 日韩专区视频网站| 岛国av在线播放| 亚洲欧美日本国产专区一区| 中文字幕成人| 精品欧美日韩精品| 亚洲大全视频| 青青草91久久久久久久久| 国产成人精品一区二区免费看京 | 成人国产精选| 国产精品日本| 免费在线成人| 天堂资源在线亚洲| 国产欧美日韩在线观看视频| 久久久久一区| 久久精品超碰| 欧美.日韩.国产.一区.二区 | 欧美一区二区三区免费看| 丝袜美腿诱惑一区二区三区| 三级久久三级久久久| 日韩一区二区三区在线免费观看| 婷婷综合成人| 青青久久av| 国产精品国码视频| 国产视频亚洲| jizzjizz中国精品麻豆| 亚洲精品自拍| 久久亚洲人体| 99亚洲视频| 欧美三区不卡| 国产尤物精品|