我无法在我的开发计算机上使用 HTTP/net



这是我在rails控制台中运行的代码

http = Net::HTTP.new("http://google.fr",80)
req = Net::HTTP::Post.new("/stupid/url/")
res = http.request(req)

它会产生以下错误:

SocketError: Failed to open TCP connection to http://google.fr:80
(getaddrinfo: Name or service not known)

当我尝试查询 API 时,我的 rails 应用程序中遇到了同样的错误。从同一台计算机上,我可以浏览谷歌。为什么它不起作用?

编辑:IRB中的相同错误带有require "net/http"

Docs 说地址应该是主机名或 IP 地址。您正在添加协议。或者可以使用 URI 类。

工作示例(返回 404(:

http = Net::HTTP.new("google.fr",80)
req = Net::HTTP::Post.new("/stupid/url/")
res = http.request(req)

或者您可以尝试:

http = Net::HTTP.new(URI("http://google.fr").host)
req = Net::HTTP::Post.new("/stupid/url/")
res = http.request(req)

最新更新