net/http.rb:560:in `initialize -': getaddrinfo: Name oder Dienst nicht bekannt (SocketError)
@@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
Ich versuche zu tun, was oauth in einem Versuch, zu verstehen, wie die Authorization-Header. Ich bin auch immer der folgende Fehler. Ich bin versucht, eine Verbindung zu den linkedin-API.
/usr/lib/ruby/1.8/net/http.rb:560:in 'initialize': getaddrinfo: Name or service not known (SocketError)
Ich würde wirklich schätzen, es wenn jemand stupst mich in die richtige Richtung.
InformationsquelleAutor Sid | 2010-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Name oder Dienst nicht bekannt" ist eine socket-level-Fehler, die in der Regel Punkte, um entweder eine ungültige IP-Adresse/DNS-hostname oder einem nicht registrierten port-Namen (z.B.
telnet the.host.name service
woservice
keinen registrierten service-Namen).Überprüfen Sie, dass
CONNECT_URL
im Besitz einer gültigen URL.EDIT: ich bin nicht ein Ruby-Programmierer, aber ich würde nicht dagegen Wetten, dass
Net::HTTP.new
erfordert ein hostname (z.B. http://www.facebook.com) als erstes argument, nicht eine vollständige URL (z.B. http://www.facebook.com/login.php?method=oauth).InformationsquelleAutor Andy Shellam
Erhalten Sie auch diese Fehlermeldung, wenn Sie über keine Internetverbindung verfügen, da ein DNS-lookup ist oft das erste, was passiert, wenn Aufbau einer TCP-Verbindung mithilfe eines Hostnamens.
Trennen Sie das Netzwerkkabel und versuchen Sie:
Dies funktionierte, wandte ich mich
wifi
und wandte sichon
und voila fertigInformationsquelleAutor Kris