gpt4 book ai didi

ruby-on-rails - 何时在 http 请求中使用 use_ssl

转载 作者:行者123 更新时间:2023-12-04 22:41:22 26 4
gpt4 key购买 nike

我正在与 URL 建立 HTTP 连接。当我使用 http.use_ssl=false它不起作用,响应为 400 错误。当我使用 http.use_ssl=true有用。这是为什么?

          url = "https://beta.makaan-ws.com/"
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri.request_uri)
headers.each do |header_key, header_val|
request.add_field(header_key, header_val)
end
request.body = post_args.to_json
begin
response = http.request(request)
rescue
raise "Error from url: #{url}"
end

我想了解 use_ssl的作用?如果 URL 是 https 类型,我们是否必须分配 true ?

最佳答案

简而言之 - 是的,通常它是这样使用的:

http.use_ssl = url.scheme == 'https'

HTTP 和 HTTPS 的 TCP 端口不同:

URI.parse("http://example.com").port # => 80
URI.parse("https://example.com").port # => 443

但一般来说,任何协议(protocol)都可以在任何端口号上使用,并且传输库没有可靠的方法来知道要使用哪个协议(protocol)。例如,您可以轻松地将服务器配置为在端口 443 上使用纯 http 进行应答,反之亦然。

这就是为什么这里是 use_ssl ,它向 http 库指示应该使用 TLS/TLS 安全连接而不是普通的非加密连接来建立与该端口的连接。

关于ruby-on-rails - 何时在 http 请求中使用 use_ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60711185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com