net/http.rb:560:in `initialize': getaddrinfo: Name or service not known (SocketError)

前端 未结 2 1166
梦谈多话
梦谈多话 2021-01-02 09:50
@@timestamp = nil

def generate_oauth_url
  @@timestamp = timestamp
  url = CONNECT_URL + REQUEST_TOKEN_PATH + \"&oauth_         


        
相关标签:
2条回答
  • 2021-01-02 09:56

    You also get this error when you have no internet connection since a DNS lookup is often the first thing that happens when establishing a TCP connection using a hostname.

    Unplug your network cable and try:

    Socket.getaddrinfo("www.example.com", "http")
    # => SocketError: getaddrinfo: nodename nor servname provided, or not known
    
    0 讨论(0)
  • 2021-01-02 10:16

    "Name or service not known" is a socket-level error which usually points to either an invalid IP address/DNS hostname, or an unregistered port name (e.g. telnet the.host.name service where service is not a registered service name.)

    Check that CONNECT_URL holds a valid URL.

    EDIT: I'm not a Ruby programmer, but I wouldn't mind betting that Net::HTTP.new requires a hostname (e.g. www.facebook.com) as the first argument, not a complete URL (e.g. www.facebook.com/login.php?method=oauth).

    0 讨论(0)
提交回复
热议问题