Open brittAnderson opened 2 years ago
Could you share your "curl --version"? I can't reproduce with Curl 7.74.0. I suspect it's your local Curl, GnuTLS, or if on a work network, meddling middleware (often broken).
When HTTP/2 was first introduced I turned it off (cb62168) since these errors were common. Implementations matured after a couple of years, so I turned it back on (448ad64) and I haven't seen the error since.
The output of curl --version
is:
curl 7.85.0 (x86_64-pc-linux-gnu) libcurl/7.85.0 OpenSSL/1.1.1q zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.49.0 Release-Date: 2022-08-31 Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
I was under the impression that it might be the libcurl library that updated the default from http1.1 to http2, but I may be mistaken there.
Here is the result from using curl from the command line with and without the http1.1 argument:
[britt@joy ~]$ curl --http1.1 https://julesh.com/rss/feed
[britt@joy ~]$ curl https://julesh.com/rss/feed
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
I noticed that three sites I follow, all Wordpress, were returning curl error 92: a failure to properly close stream. Some searching suggested that that might be a problem with my version of http that my curl was using. When setting
Things seem to work well. Just posting this in case anyone runs into something similar. Don't know if there is a way to automate this or not since it seems preferable to use the default protocols when possible.