tcp 實現簡單http 問題

PoormaJin發表於2018-08-08

使用 tcp 實現給瀏覽器返回內容 返回的 response 內容在網頁上是有顯示的,而且使用的欄位也是起作用的 但是為什麼 瀏覽器的看不到 response headers 內容. 程式碼如下:

package main

import (
    "fmt"
    "log"
    "net"
)

func main() {
    ip, err := net.ResolveTCPAddr("tcp", ":8890")
    if err != nil {
        log.Println("err1:", err)
        return
    }
    l, err := net.ListenTCP("tcp", ip)
    if err != nil {
        log.Println("err2", err)
    }
    for {

        conn, err := l.Accept()
        if err != nil {
            log.Println(err)
        }
        go Hand(conn)

    }

}

func Hand(conn net.Conn) {
    defer conn.Close()
    meg := make([]byte, 1024)
    _, err := conn.Read(meg)
    res := `HTTP/1.1  200  OK \r\n
            Content-Type: text/html; charset=utf-8 \r\n
            Date:Wed, 08 Aug 2018 08:02:25 GMT
            Server:好厲害的 os \r\n
            \r\n

            <html>
            <head>
            </head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8">
            <p>模擬一下</p>
            </html>
            `

    _, err = conn.Write([]byte(res))
    if err != nil {
        log.Println(err)
    }
    fmt.Println(string(meg))
    return
}

更多原創文章乾貨分享,請關注公眾號
  • tcp 實現簡單http 問題
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章