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

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

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

瀏覽:19日期: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久久,三上悠亚国产精品一区二区三区
红杏一区二区三区| 国产精品99精品一区二区三区∴| 91亚洲无吗| 亚洲理论在线| 美女久久一区| 中文字幕日本一区| 日本综合视频| 欧美一区自拍| 久久影院一区二区三区| 欧美国产极品| 欧美国产视频| 精品国内亚洲2022精品成人| 成人污污视频| 久久激情网站| 好吊视频一区二区三区四区| 国产乱子精品一区二区在线观看| 欧美日韩一区二区国产| 人人爱人人干婷婷丁香亚洲| 欧美欧美黄在线二区| 欧美国产亚洲精品| 久久超级碰碰| 精品视频在线你懂得| 成人小电影网站| 激情综合在线| 亚洲精品高潮| 国产日产一区| 捆绑调教日本一区二区三区| 久久精品中文| 免费观看在线色综合| 97精品资源在线观看| 国产精品久久久亚洲一区| 国产+成+人+亚洲欧洲在线| 亚洲香蕉网站| 亚洲三级网址| 日韩成人a**站| 91精品91| 国产一卡不卡| bbw在线视频| 亚洲欧美日韩精品一区二区 | 日本蜜桃在线观看视频| 欧美成人基地| 亚洲色图国产| 久久婷婷国产| 精品国产一区二| 亚洲作爱视频| 国产福利一区二区精品秒拍 | 日韩精品一区二区三区中文字幕| 日本不卡一二三区黄网| 国产日韩一区二区三免费高清 | 日韩精品诱惑一区?区三区| 亚洲国产专区| 久久国产欧美日韩精品| 久久久一二三| 久久国产欧美日韩精品| 亚洲不卡av不卡一区二区| 在线国产日韩| 久久青青视频| 日韩精品久久理论片| 国产一二在线播放| 亚洲天堂免费| 日韩三区在线| 亚洲三级在线| 久久精品导航| 国产精品嫩模av在线| 国产一区二区精品福利地址| 热久久久久久久| 中文字幕在线视频网站| 日韩精品一区二区三区中文在线 | 精品72久久久久中文字幕| 麻豆精品99| aⅴ色国产欧美| 国产精品原创| 日韩福利视频导航| 偷拍欧美精品| 久久99蜜桃| 香蕉久久国产| 播放一区二区| 国产精品伦一区二区| 亚洲视频国产| 婷婷中文字幕一区| 国产精品蜜芽在线观看| 911精品国产| 亚洲欧美日韩国产综合精品二区| 国产高清不卡| 欧美激情麻豆| 日本亚洲欧美天堂免费| 美女毛片一区二区三区四区| 国产激情久久| 国产亚洲一卡2卡3卡4卡新区| 亚洲少妇一区| 久久亚洲人体| 青草av.久久免费一区| 亚洲欧美日韩国产一区| 伊人久久高清| 国产精品99视频| 国产精品红桃| 日韩国产在线观看| 日韩一区欧美二区| 国产v综合v| 国产精品成人a在线观看| 国产亚洲精品美女久久 | 精品三级av| 欧美在线看片| 色狠狠一区二区三区| 国产亚洲毛片在线| 欧美亚洲激情| 日韩中文影院| 91亚洲自偷观看高清| 麻豆国产精品视频| 国产精品久久久久久久久免费高清 | 中文字幕在线视频久| 鲁大师精品99久久久| 日韩中文欧美在线| 亚洲欧美日韩国产综合精品二区| 九色精品91| 视频一区中文| 欧美日韩激情| 在线精品视频在线观看高清| 欧美日韩精品一区二区视频| 日产精品一区| 99久久精品网| 婷婷综合亚洲| 黄色国产精品| 免费黄色成人| 日韩视频在线一区二区三区 | 精品一区二区三区中文字幕在线| 国产精品15p| 国产不卡精品在线| 精品亚洲成人| 日本午夜大片a在线观看| 免费在线小视频| 色在线视频观看| 久久久国产精品一区二区中文| 中文久久精品| 亚洲精品九九| 国产日产精品_国产精品毛片| 国产日韩一区二区三区在线播放| 美腿丝袜在线亚洲一区| 精品五月天堂| 美女久久久久久| 国产中文在线播放| 欧美成人精品| 伊人久久大香伊蕉在人线观看热v| 亚洲一区欧美二区| 在线精品亚洲| 国产美女久久| 日韩1区在线| 国产高清久久| 综合一区二区三区| 国产乱子精品一区二区在线观看| 精品久久精品| 免费不卡中文字幕在线| 久久成人亚洲| 国产亚洲电影| 三上悠亚国产精品一区二区三区| 欧美午夜不卡| 久久国内精品自在自线400部| 激情久久99| 在线一区视频观看| 亚洲乱亚洲高清| 久久99偷拍| 激情偷拍久久| 奇米亚洲欧美| 欧美二三四区| 亚洲伊人精品酒店| 麻豆精品久久| 欧美精品一区二区三区精品| 日韩中文一区二区| 国产+成+人+亚洲欧洲在线| 激情欧美亚洲| 91精品国产自产在线丝袜啪| 伊人久久av| 亚洲精选91| 国产一区二区三区四区二区| 日韩午夜精品| 精品国产一区二区三区2021| 国产麻豆综合| 精品国产乱码久久久久久1区2匹| 一区在线视频观看| 国产人成精品一区二区三| 色吊丝一区二区| 青青青国产精品| 日韩av免费| 青青草国产成人99久久| 久久久精品网| 欧美私人啪啪vps| 伊人久久大香线蕉av不卡| 日韩午夜视频在线| 日韩啪啪电影网| 亚洲精品影视| 丝袜av一区| 国产精品17p| 中文无码日韩欧| 国产一区三区在线播放| 免费成人av在线播放| 91日韩在线| 国产亚洲一区| 久久亚洲欧美| 日韩成人亚洲| 国产精品午夜av|