小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Golang Go語(yǔ)言斷點(diǎn)續(xù)傳

 KyunraWang 2018-05-19
package main

import (
    "http"
    "os"
    "io"
    "strconv"
)

const (
    UA = "Golang Downloader from Kejibo.com"
)

func main() {
    f, err := os.OpenFile("./file.exe", os.O_RDWR, 0666)  //其實(shí)這里的 O_RDWR應(yīng)該是 O_RDWR|O_CREATE,也就是文件不存在的情況下就建一個(gè)空文件,但是因?yàn)閣indows下還有BUG,如果使用這個(gè)O_CREATE,就會(huì)直接清空文件,所以這里就不用了這個(gè)標(biāo)志,你自己事先建立好文件。
    if err != nil { panic(err) }
    stat, err := f.Stat()   //獲取文件狀態(tài)
    if err != nil { panic(err) }
    f.Seek(stat.Size, 0)    //把文件指針指到文件末,當(dāng)然你說為何不直接用 O_APPEND 模式打開,沒錯(cuò)是可以。我這里只是試驗(yàn)。
    url := "http://dl.google.com/chrome/install/696.57/chrome_installer.exe"
    var req http.Request
    req.Method = "GET"
    req.UserAgent = UA
    req.Close = true
    req.URL, err = http.ParseURL(url)
    if err != nil { panic(err) }
    header := http.Header{}
    header.Set("Range", "bytes=" + strconv.Itoa64(stat.Size) + "-")
    req.Header = header
    resp, err := http.DefaultClient.Do(&req)
    if err != nil { panic(err) }
    written, err := io.Copy(f, resp.Body)
    if err != nil { panic(err) }
    println("written: ", written)
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多