<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                服務端 ~~~ package main import ( "fmt" "net/http" ) //服務端編寫的業務邏輯處理程序 //hander函數: 具有func(w http.ResponseWriter, r *http.Requests)簽名的函數 func myHandler(w http.ResponseWriter, r *http.Request) { fmt.Println(r.RemoteAddr, "連接成功") //r.RemoteAddr遠程網絡地址 fmt.Println("method = ", r.Method) //請求方法 fmt.Println("url = ", r.URL.Path) fmt.Println("header = ", r.Header) fmt.Println("body = ", r.Body) w.Write([]byte("hello go")) //給客戶端恢復的數據 } func main() { http.HandleFunc("/go", myHandler) //該方法用于在指定的 TCP 網絡地址 addr 進行監聽,然后調用服務端處理程序來處理傳入的連接請求。 //該方法有兩個參數:第一個參數 addr 即監聽地址;第二個參數表示服務端處理程序,通常為空 //第二個參數為空意味著服務端調用 http.DefaultServeMux 進行處理 http.ListenAndServe("127.0.0.1:8006", nil) } ~~~ 客戶端 ~~~ package main import ( "fmt" "io" "log" "net/http" ) func main() { //get方式請求一個資源 //resp, err := http.Get("http://www.baidu.com") //resp, err := http.Get("http://www.neihan8.com/article/index.html") resp, err := http.Get("http://127.0.0.1:8000/go") if err != nil { log.Println(err) return } defer resp.Body.Close() //關閉 fmt.Println("header = ", resp.Header) fmt.Printf("resp status %s\nstatusCode %d\n", resp.Status, resp.StatusCode) fmt.Printf("body type = %T\n", resp.Body) buf := make([]byte, 2048) //切片緩沖區 var tmp string for { n, err := resp.Body.Read(buf) //讀取body包內容 if err != nil && err != io.EOF { fmt.Println(err) return } if n == 0 { fmt.Println("讀取內容結束") break } tmp += string(buf[:n]) //累加讀取的內容 } fmt.Println("buf = ", string(tmp)) } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看