gpt4 book ai didi

Ruby:来自不存在的网站的 HTTP.get_response

转载 作者:数据小太阳 更新时间:2023-10-29 08:54:34 25 4
gpt4 key购买 nike

我有这段代码来检查网站是运行还是关闭:

require 'net/http'
require 'uri'

res = Net::HTTP.get_response(URI.parse('http://www.saddsdsds.com/'))

case res
when Net::HTTPSuccess, Net::HTTPRedirection
# OK
puts "ok"
else
puts "ok-error"
end

res2 = Net::HTTP.get_response(URI.parse('http://www.sads.com/'))


case res2
when Net::HTTPSuccess, Net::HTTPRedirection
# OK
puts "ok"
else
puts "ok-error"
end

然而,当站点已知时代码工作正常,但当站点未知时(如 res 示例),代码会因以下错误而中断:

`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)

我该如何解决这个问题,以便本地址不存在时,代码不会中断?

此外,这是检查网站是否在线的最佳方式吗?

谢谢

最佳答案

begin..rescue block 包围所有这些代码:

begin
...
rescue SocketError => e
puts "SocketError occurred: " + e
end

关于Ruby:来自不存在的网站的 HTTP.get_response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709523/

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