gpt4 book ai didi

ruby - 在 Ruby 中,使用 "net/http",我们必须加入 url 并自己使用 "?"进行查询?

转载 作者:数据小太阳 更新时间:2023-10-29 06:40:28 24 4
gpt4 key购买 nike

在下面的代码中,我们必须使用 ? 字符加入 url.pathurl.query 吗?有更优雅的方法吗?我必须使用 net/http,因为在某些情况下我也想在用户代理的 header 中放置一个字符串。

require 'net/http'

url_string = 'http://www.time.gov/timezone.cgi?Pacific/d/-8'

url = URI.parse(url_string)

response = Net::HTTP.start(url.host, url.port) do |http|
http.get(url.path + '?' + url.query)
end
puts response.body[/<td.*(\d\d:\d\d:\d\d)/, 1]

最佳答案

在 URI 对象上使用 request_uri 方法:

http://www.ruby-doc.org/stdlib/libdoc/uri/rdoc/classes/URI/HTTP.html#M009499

您的代码的更新版本:

require 'net/http'

url_string = 'http://www.time.gov/timezone.cgi?Pacific/d/-8'

url = URI.parse(url_string)

response = Net::HTTP.start(url.host, url.port) do |http|
http.get(url.request_uri)
end
puts response.body[/<td.*(\d\d:\d\d:\d\d)/, 1]

关于ruby - 在 Ruby 中,使用 "net/http",我们必须加入 url 并自己使用 "?"进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5138666/

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