Как заставить клиента использовать http / 2?(вместо возврата к http 1.1) - PullRequest
0 голосов
/ 19 ноября 2018

Как заставить простой клиент Go использовать HTTP / 2 и предотвратить его возврат к HTTP 1.1?

У меня есть простой сервер HTTP / 2, работающий на "localhost", и он возвращает подробностизапрос в ответе.Вот вывод с использованием Google Chrome для этого URL: https://localhost:40443/bananas

I like bananas!
Method       = GET
URL          = /bananas
Proto        = HTTP/2.0
Host         = localhost:40443
RequestURI   = /bananas

Но вот что я получаю для своего кода клиента Go.Вы можете видеть, что он возвращается к HTTP 1.1

I like monkeys!
Method       = GET
URL          = /monkeys
Proto        = HTTP/1.1
Host         = localhost:40443
RequestURI   = /monkeys

Ниже приведен исходный код моей лучшей попытки связаться с тем же сервером по HTTP / 2, но он всегда возвращается к HTTP 1.1

* 1011.*

Будем благодарны за любые предложения, включая ссылки на другие рабочие примеры, иллюстрирующие, как делать запросы клиентов HTTP / 2 в Go.

1 Ответ

0 голосов
/ 19 ноября 2018

Первый импорт "golang.org/x/net/http2" пакет.А затем измените

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

на

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