Requête Ruby à https - "in` read_nonblock ': Connexion réinitialisée par homologue (Errno :: ECONNRESET) "
Voici mon code
domain = 'http://www.google.com'
url = URI.parse "https://graph.facebook.com/fql?q=SELECT%20url,normalized_url%20FROM%20link_stat%20WHERE%20url='#{domain}'"
req = Net::HTTP::Get.new url.path
res = Net::HTTP.start(url.host, url.port) {|http| http.request req}
puts res.body
et il me donne
/home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:153:in `read_nonblock': Connection reset by peer (Errno::ECONNRESET)
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:153:in `rbuf_fill'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:144:in `readline'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_line'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1405:in `block in transport_request'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `catch'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `transport_request'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1375:in `request'
from /home/alex/Documents/ruby_test1.rb:20:in `block in <main>'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:851:in `start'
from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:582:in `start'
from /home/alex/Documents/ruby_test1.rb:20:in `<main>'
Qu'ai-je fait de mal?
source d'informationauteur Alan Coromano
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs bizarreries dans votre code. La principale est: puisque vous utilisez
SSL
vous êtes à la connaissanceHTTP.start
avec:use_ssl => url.scheme == 'https'
.HTTP.Get
constructeur attend pour unURI
et non pas le chemin. Le résumé:Donne:
Accepté réponse a été de me donner une erreur -
Quand j'étais aide -
Ma version de Ruby est -
Ensuite, j'ai modifié le code comme ci-dessous :-
Et cela a fonctionné.