这是我在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)