首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >net/http.rb:560:in ` `initialize':getaddrinfo:名称或服务未知(SocketError)

net/http.rb:560:in ` `initialize':getaddrinfo:名称或服务未知(SocketError)
EN

Stack Overflow用户
提问于 2010-04-09 22:41:10
回答 2查看 34.3K关注 0票数 9
代码语言:javascript
复制
@@timestamp = nil

def generate_oauth_url
  @@timestamp = timestamp
  url = CONNECT_URL + REQUEST_TOKEN_PATH + "&oauth_callback=#{OAUTH_CALLBACK}&oauth_consumer_key=#{OAUTH_CONSUMER_KEY}&oauth_nonce=#{NONCE}    &oauth_signature_method=#{OAUTH_SIGNATURE_METHOD}&oauth_timestamp=#{@@timestamp}&oauth_version=#{OAUTH_VERSION}"
  puts url
  url             
end

def sign(url)
  Base64.encode64(HMAC::SHA1.digest((NONCE + url), OAUTH_CONSUMER_SECRET)).strip
end

def get_request_token
  url = generate_oauth_url
  signed_url = sign(url)          
  request = Net::HTTP.new((CONNECT_URL + REQUEST_TOKEN_PATH),80)
  puts request.inspect
  headers = { "Authorization" => "Authorization: OAuth oauth_nonce = #{NONCE}, oauth_callback = #{OAUTH_CALLBACK}, oauth_signature_meth    od = #{OAUTH_SIGNATURE_METHOD}, oauth_timestamp=#{@@timestamp}, oauth_consumer_key = #{OAUTH_CONSUMER_KEY}, oauth_signature = #{signed_url}, oauth_versio    n = #{OAUTH_VERSION}" }

  request.post(url, nil,headers)                  
end

def timestamp
  Time.now.to_i
end

我正在尝试做oauth所做的事情,试图理解如何使用Authorization头。我也得到了下面的错误。我正在尝试连接到linkedin API。

/usr/lib/ruby/1.8/net/http.rb:560:in 'initialize': getaddrinfo: Name or service not known (SocketError)

如果有人能把我推向正确的方向,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-09 22:46:45

“名称或服务未知”是套接字级别的错误,通常指向无效的IP地址/DNS主机名或未注册的端口名称(例如,telnet the.host.name service,其中service不是注册的服务名称)。

检查CONNECT_URL是否包含有效的URL。

编辑:我不是Ruby程序员,但我不介意打赌Net::HTTP.new需要一个主机名(例如www.facebook.com)作为第一个参数,而不是一个完整的网址(例如www.facebook.com/login.php?method=oauth)。

票数 18
EN

Stack Overflow用户

发布于 2011-11-17 00:56:55

当您没有internet连接时也会出现此错误,因为DNS查找通常是使用主机名建立TCP连接时发生的第一件事。

拔下网线并尝试:

代码语言:javascript
复制
Socket.getaddrinfo("www.example.com", "http")
# => SocketError: getaddrinfo: nodename nor servname provided, or not known
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2608331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档