gpt4 book ai didi

ruby - Net::HTTP SocketError: getaddrinfo: nodename 或 servname provided, or not known

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

我用谷歌搜索了这个问题并浏览了关于这个问题的相关帖子。我认为这不是 Rails/Ruby 问题,但不确定下一步该怎么做。

irb(main):007:0> Net::HTTP.get_response("http://www.apple.com","")
SocketError: getaddrinfo: nodename nor servname provided, or not known
from /Users/dan/.rbenv/versions/2.2.3/lib/ruby/2.2.0/net/http.rb:879:in `initialize'

否则没有网络问题。 apple.com 在浏览器中加载正常。这是在我本地机器上开发的 Rails 应用程序中。希望通过第三方 API 提取 JSON 请求。 All Net::HTTP 像这样请求电影。

最佳答案

你必须传递一个 URI对象到 get_response 方法,以便它具有 schemehost 等信息:

URI('http://www.apple.com').host
# => "www.apple.com"
URI('http://www.apple.com').scheme
# => "http"

因此,要解决您的问题,请这样做:

Net::HTTP.get_response(URI("http://www.apple.com"))
# => #<Net::HTTPOK 200 OK readbody=true>

要获取响应正文,请执行以下操作:

Net::HTTP.get_response(URI("http://www.apple.com")).body

参见 get_response文档以获取更多详细信息。

关于ruby - Net::HTTP SocketError: getaddrinfo: nodename 或 servname provided, or not known,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325882/

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