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

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

如何強(qiáng)制客戶端使用 http/2?(而不是退回到 http 1.1)

如何強(qiáng)制客戶端使用 http/2?(而不是退回到 http 1.1)

Go
慕后森 2023-05-08 17:50:26
如何強(qiáng)制一個(gè)簡單的 Go 客戶端使用 HTTP/2 并防止它退回到 HTTP 1.1?我有一個(gè)在“本地主機(jī)”上運(yùn)行的簡單 HTTP/2 服務(wù)器,它在回復(fù)中返回請求的詳細(xì)信息。這是使用 Google Chrome 瀏覽器對此 URL 的輸出:https://localhost:40443/bananasI like bananas!Method       = GETURL          = /bananasProto        = HTTP/2.0Host         = localhost:40443RequestURI   = /bananas但這是我為我的 Go 客戶端代碼得到的。你可以看到它回落到 HTTP 1.1I like monkeys!Method       = GETURL          = /monkeysProto        = HTTP/1.1Host         = localhost:40443RequestURI   = /monkeys下面是我使用 HTTP/2 連接同一服務(wù)器的最佳嘗試的源代碼,但它總是回退到 HTTP 1.1// simple http/2 clientpackage mainimport (    "crypto/tls"    "crypto/x509"    "fmt"    "io/ioutil"    "log"    "net/http")const (    certFile = "client-cert.pem"    keyFile  = "client-key.pem"    caFile   = "server-cert.pem")func main() {    // Load client certificate    cert, err := tls.LoadX509KeyPair(certFile, keyFile)    if err != nil {        log.Fatal(err)    }    // Load CA cert    caCert, err := ioutil.ReadFile(caFile)    if err != nil {        log.Fatal(err)    }    caCertPool := x509.NewCertPool()    caCertPool.AppendCertsFromPEM(caCert)    // Setup HTTPS client    tlsConfig := &tls.Config{        Certificates: []tls.Certificate{cert},        RootCAs:      caCertPool,    }    tlsConfig.BuildNameToCertificate()    transport := &http.Transport{TLSClientConfig: tlsConfig}    client := &http.Client{Transport: transport}    response, err := client.Get("https://localhost:40443/monkeys")    if err != nil {        log.Fatal(err)    }    defer response.Body.Close()    // dump response    text, err := ioutil.ReadAll(response.Body)    if err != nil {        log.Fatal(err)    }    fmt.Printf("Body:\n%s", text)}任何建議,包括指向其他工作示例的指針,這些示例說明如何在 Go 中發(fā)出 HTTP/2 客戶端請求,我們將不勝感激。
查看完整描述

1 回答

?
慕姐4208626

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

首先導(dǎo)入"golang.org/x/net/http2"包。然后改變

transport := &http.Transport{TLSClientConfig: tlsConfig}

transport := &http2.Transport{TLSClientConfig: tlsConfig}


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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