go 寫的httpProxy 伺服器

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

可以看優酷視頻,qq視頻好像有點問題

package main import (    "io"    "io/ioutil"    "log"    "net/http"    "os"    "fmt") func handler(w http.ResponseWriter, r *http.Request) {    var (        resp *http.Response        data []byte        err  error    )    r.RequestURI = ""    r.ParseForm()    resp, err = http.DefaultClient.Do(r)    if err != nil {        http.NotFound(w, r)        log.Println("1、NotFound")        return    }    data, err = ioutil.ReadAll(resp.Body)    if err != nil && err != io.EOF {        http.NotFound(w, r)        log.Println("2、NotFound")        return    }    for i, j := range resp.Header {        for _, k := range j {            w.Header().Add(i, k)            log.Println("Header:",i,"=",k)        }    }    for _,c := range resp.Cookies(){        w.Header().Add("Set-Cookie",c.Raw)        log.Println("Set-Cookie",c.Raw)    }    _, ok := resp.Header["Content-Length"]    if !ok && resp.ContentLength>0 {        w.Header().Add("Content-Length",fmt.Sprint(resp.ContentLength))        log.Println("1、Content-Length",resp.ContentLength)    }else{        log.Println("2、Content-Length",resp.Header["Content-Length"])    }    log.Printf("resp.StatusCode:%d  len:%d\n",resp.StatusCode,len(data))    w.WriteHeader(resp.StatusCode)    w.Write(data)} func main() {    http.HandleFunc("/", handler)    log.Println("Start serving on port 8888")    http.ListenAndServe(":8888", nil)    os.Exit(0)}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.