在ruby中使用特定http版本协议发送http请求

在ruby中使用特定http版本协议发送http请求,ruby,http,version,Ruby,Http,Version,在ruby中,可以通过特定的http版本协议发送http请求 我使用net/http,但默认(可能是硬编码的)版本是1.1 是否有办法转到1.0?覆盖Net::HTTP::HTTPVersion(默认为'1.1')似乎有效: require 'net/http' Net::HTTP.send(:remove_const, :HTTPVersion) # avoid warning Net::HTTP::HTTPVersion = '1.0' http = Net::HTTP.new('exa

在ruby中,可以通过特定的http版本协议发送http请求

我使用net/http,但默认(可能是硬编码的)版本是1.1


是否有办法转到1.0?

覆盖
Net::HTTP::HTTPVersion
(默认为
'1.1'
)似乎有效:

require 'net/http'

Net::HTTP.send(:remove_const, :HTTPVersion) # avoid warning
Net::HTTP::HTTPVersion = '1.0'

http = Net::HTTP.new('example.com')
http.set_debug_output($stdout)
http.get('/')
输出:

<- "GET / HTTP/1.0\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nUser-Agent: Ruby\r\nConnection: close\r\nHost: example.com\r\n\r\n"
-> "HTTP/1.0 200 OK\r\n"
-> "Accept-Ranges: bytes\r\n"
-> "Cache-Control: max-age=604800\r\n"
-> "Content-Type: text/html\r\n"
-> ...
“HTTP/1.0 200正常\r\n”
->“接受范围:字节\r\n”
->“缓存控制:最大年龄=604800\r\n”
->“内容类型:text/html\r\n”
-> ...
发送一个
GET/HTTP/1.0
,服务器用
HTTP/1.0 200 OK
应答。请注意,HTTP/1.1标头(例如,
Host:example.com
)仍然存在