第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

我想在 golang 中使用劫持,同時(shí)在客戶端上得到無效響應(yīng)

我想在 golang 中使用劫持,同時(shí)在客戶端上得到無效響應(yīng)

Go
至尊寶的傳說 2023-06-05 09:13:06
我想在 golang 中使用劫持,同時(shí)在客戶端收到無效響應(yīng)func hijack(w http.ResponseWriter, r *http.Request) {    fmt.Println("start")    hj, ok := w.(http.Hijacker)    fmt.Println(ok)    c, buf, err := hj.Hijack()    if err != nil {        panic(err)    }    n, err := buf.Write([]byte("hello"))    if err != nil {        panic(err)    }    fmt.Println("n == ",n)    err = buf.Flush()    if err != nil {        panic(err)    }    fmt.Println("end")}按照服務(wù)器上打印的:starttruen ==  5end但我在客戶端出現(xiàn)以下錯(cuò)誤本地主機(jī)發(fā)送了無效響應(yīng)。ERR_INVALID_HTTP_RESPONSE
查看完整描述

1 回答

?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

正如 的Hijacker文檔所說

劫持讓呼叫者接管連接。在調(diào)用 Hijack 之后,HTTP 服務(wù)器庫將不會對連接執(zhí)行任何其他操作。
管理和關(guān)閉連接成為呼叫者的責(zé)任。
返回的 net.Conn 可能已經(jīng)設(shè)置了讀取或?qū)懭氲淖詈笃谙?,具體取決于服務(wù)器的配置。調(diào)用者有責(zé)任根據(jù)需要設(shè)置或清除這些截止日期。
返回的 bufio.Reader 可能包含來自客戶端的未處理的緩沖數(shù)據(jù)。
調(diào)用 Hijack 后,不得使用原始 Request.Body。原始 Request 的 Context 保持有效并且不會被取消,直到 Request 的 ServeHTTP 方法返回。

您需要寫信給c而不是buf. 并且您需要編寫響應(yīng)狀態(tài)和Content-Length標(biāo)題。

http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {

    fmt.Println("start")


    writer.Header().Add("Content-Length", "5")

    writer.WriteHeader(200)

    hj, ok := writer.(http.Hijacker)


    fmt.Println(ok)


    c, _, err := hj.Hijack()

    if err != nil {

        panic(err)

    }

    n, err := c.Write([]byte("hello"))

    if err != nil {

        panic(err)

    }


    fmt.Println("n == ",n)


    err = c.Close()

    if err != nil {

        panic(err)

    }


    fmt.Println("end")

})


查看完整回答
反對 回復(fù) 2023-06-05
  • 1 回答
  • 0 關(guān)注
  • 232 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號