我写了下面的代码:
require 'net/http'
require 'uri'
require 'IPAddr'
require 'timeout'
require 'Resolv'
require 'open-uri'
#puts "Origin IP:\n\n"
#originip = gets()
(IPAddr.new("209.85.175.120")..IPAddr.new("209.85.175.150")).each do |address|
uri = URI("http://#{address.to_s}")
puts "#{uri}"
http = Net::HTTP.new(uri.host, uri.port)
puts "#{http}"
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri.request_uri
response = http.request request
if response.code == "301" || response.code == "400" then
end
#request.initialize_http_header({"Origin" => "#{originip}"})
end
是否可以在我的if
条件下转到uri = URI("http://#{address.to_s}")
行
if response.code == "301" || response.code == "400" then
# condition
end
在上面的代码中变为真?如果我的条件成立,我如何才能转到下一个 IP 地址并跳过当前 IP 地址?
是否可以在 Ruby 中执行类似标签和 goto
语句的操作?
最佳答案
next if response.code == "301" || response.code == "400"
关于ruby - 如果 IF 条件变为真,如何跳过迭代并转到 do .. end 的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377976/