From: "大道 裕" Date: 2008-02-20T13:37:41+09:00 Subject: [ruby-list:44665] Re: Net::HTTP について 大道です。 早速のレスをありがとうございます。 S_Konno(今野 滋) wrote: > 0. 具体的にどのサイトか教えてもらえないと、答えを書く前に検証ができません 具体的に書くとまずいのかと思いましたが... 本来のプログラムは require 'net/http' http = Net::HTTP.new('www.koeki-data.soumu.go.jp', 80) response, data = http.get('/', nil) puts data > 1. そのページはブラウザのクッキーとJavaScriptを切った状態でも見れますか? 見られます。 > 2. 同一サーバーに対して、間を置かずに複数のアクセスをしようとしたりしていませんか? 単発で、実行しています。 > 3. open-uri は試されましたでしょうか? > require "open-uri" > open("http://example.com"){|f| puts f.read } 同じ(?)ようにBad Request が帰ってきます。 C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:287:in `open_http': 400 Bad Request (OpenURI::HTTPError) from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:626:in `buffer_open' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:164:in `open_loop' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:162:in `catch' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:162:in `open_loop' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:132:in `open_uri' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:528:in `open' from C:/Program Files/ruby-1.8/lib/ruby/1.8/open-uri.rb:30:in `open' from C:/Documents and Settings/svwg/ruby/get_test02.rb:2 > 4. terminalから、の入力で、 > $ curl http://example.com > に対しては弾かれ、 > $ curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" http://example.com > では成功する場合は、user-agent を偽装すれば良いということになります。(curlが使える場合) curlでは、問題なく表示されます。 > 基礎事項↓ > http://jp.rubyist.net/magazine/?0013-BundledLibraries 下記のプログラムも試したのですが、同じでした。 require 'net/http' Net::HTTP.version_1_2 Net::HTTP.start('www.koeki-data.soumu.go.jp', 80) {|http| response = http.get('/home.htm') puts response.body } -- **************************************** 大道 裕 かわうそ会ホームページ http://kawauso.daidou.org/ 三鷹市水泳連盟ホームページ http://suiren.mitaka.tokyo.jp/ ****************************************