Ruby:net/httpライブラリで質問です。
RubyでWEBAPIをたたこうとおもい
リファレンスから
require 'net/http'
Net::HTTP.version_1_2 # おまじない
Net::HTTP.start('www.example.com', 80) {|http|
response = http.get('/index.html')
puts response.body
}
という記述を利用してヤフーのページを取得しようと
動かしたところまったく動作しなかったのでだめもとで例外をとってみたら
begin
Net::HTTP.version_1_2() # おまじない
Net::HTTP.start("http://yahoo.co.jp", 80) {|http|
response = http.get("/index.html");
puts response.body
}
rescue => ex
print ex.class;
print "<hr />";
print ex.message;
print "<hr />";
print ex.backtrace;
end
SocketErrorgetaddrinfo: 記憶域制御ブロックが壊れています。 C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `initialize'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `open'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `connect'C:/ruby/lib/ruby/1.8/timeout.rb:53:in `timeout'C:/ruby/lib/ruby/1.8/timeout.rb:101:in `timeout'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:560:in `connect'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:553:in `do_start'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:542:in `start'C:/ruby/lib/ruby/1.8/Net/HTTP.rb:440:in `start'C:/Apache/htdocs/tokui12.rb:11
上記のような例外が取れました。
これは、Rubyの際インストールが必要なのでしょうか?
リファレンスまんまを利用しているので記述間違いとかはないと思うのですが・・・
システム的な問題?と思いPHPでたたいたところ
PHPであれば普通にAPIはたたけました。
対処策はどうしたらいいのでしょうか?
お礼
そうだったのですか・・・ 回答ありがとうございます。助かりました。