簡體   English   中英

Net :: HTTP SocketError:getaddrinfo:提供的節點名或服務名,或者未知

[英]Net::HTTP SocketError: getaddrinfo: nodename nor servname provided, or not known

我已經用谷歌搜索了此信息,並瀏覽了有關此問題的相關帖子。 我不認為這是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請求。 所有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文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM