【问题标题】:Verifying domain owner验证域所有者
【发布时间】:2011-12-11 08:31:17
【问题描述】:

我正在尝试通过将随机生成的文件上传到其域的根目录来验证用户是否可以控制域作为我的 rails 3 应用程序的一部分(与谷歌对谷歌应用程序的处理方式相同)。目前我正在使用 Net::HTTP,如果地址有效,它似乎可以工作,但如果地址无效,我会收到此错误。

getaddrinfo: nodename nor servname provided, or not known

有没有办法以某种方式忽略此错误,或者有更好/不同的方式来为控制器编写代码?

def check
  require 'net/http'
  require 'uri'
  result = Net::HTTP.get_response(URI.parse('http://www.example.com/21312324213123.html'))
  if Net::HTTPSuccess
      @test = "true"
  else
      @test = "false"
  end
end

任何帮助都会很棒。谢谢。

【问题讨论】:

    标签: ruby ruby-on-rails-3 validation controller net-http


    【解决方案1】:

    您需要做的就是从该异常中解救出来并将其作为单独的案例返回。

    def check
      # ...
    rescue => e
      # Uh oh, got an exception
      @error = e.to_s
      @test = "false"
    end
    

    【讨论】:

    • 感谢 tadman 的工作。对 ruby​​ 来说还是很陌生,所以我什至不知道救援是一种选择。
    • 最佳实践是从您收到的特定异常中rescue,以避免隐藏更严重的错误。但是,在这种情况下,您可能会得到各种各样的它们,因此捕获和报告它们可能更安全。如果页面下载速度不够快,或者服务器没有响应,也会出现超时错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 2017-04-28
    • 2019-06-15
    相关资源
    最近更新 更多