在Ruby中,使用;net/http“;,我们必须加入url并使用“查询”进行查询&引用;我们自己
在下面的代码中,我们必须使用在Ruby中,使用;net/http“;,我们必须加入url并使用“查询”进行查询&引用;我们自己,ruby,Ruby,在下面的代码中,我们必须使用?字符连接url.path和url.query我们自己?有没有更优雅的方法?我必须使用net/http,因为在某些情况下,我也想在头中为用户代理添加一个字符串 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
?
字符连接url.path
和url.query
我们自己?有没有更优雅的方法?我必须使用net/http
,因为在某些情况下,我也想在头中为用户代理添加一个字符串
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]
需要“net/http”
url\u字符串=http://www.time.gov/timezone.cgi?Pacific/d/-8'
url=URI.parse(url\u字符串)
response=Net::HTTP.start(url.host,url.port)do | HTTP|
http.get(url.path+'?'+url.query)
结束
将response.body[/放入您可以使用的
从文档中:
返回HTTP的完整路径
请求,按照
Net::HTTP::Get
如果URI包含查询,则完整的
路径是URI#路径+'?'+URI#查询。
否则,路径就是简单的
URI#路径
对uri对象使用request\u uri
方法:
代码的更新版本:
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]
需要“net/http”
url\u字符串=http://www.time.gov/timezone.cgi?Pacific/d/-8'
url=URI.parse(url\u字符串)
response=Net::HTTP.start(url.host,url.port)do | HTTP|
http.get(url.request\u uri)
结束
Prime[/[P>>NET/HTTP ]可能有很好的基础,但不太友好。
如果您的客户端正在访问一个设计良好的服务,那么像或之类的东西将是一个更好的选择。您还可以编写一个独立于应用程序的模块,以一种适合您的方式对net/http进行初始化