Ruby 初心者スレッド Part 17
■ このスレッドは過去ログ倉庫に格納されています
002120
2008/01/17(木) 07:10:21実行環境:
ruby: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
OS: Windows XP Professional Version2002 SP2
サーバ:Apache2
内容:
特定のURIから画像をひっぱてきて表示したいのですが、
うまくいかない場合があります。
うまくいくURI
requri = "http://www.google.co.jp/intl/ja_jp/images/logo.gif"
うまくいかないURI
requri = "http://mt1.google.com/mt?v=ap.66&x=3&y=2&n=404&s=Gal&zoom=15"
上記URIに対し下記の処理を実行して画像を表示します。
require 'open-uri'
uri = URI.parse(requri)
str = uri.read
print 'Content-type: '+ str.content_type + "\n\n"
STDOUT.binmode #これやらないと画像などのバイナリ系が勝手に文字列エンコードされました。
print str
うまくいくURIの場合はCGIとして呼び出すと画が表示されますが、
うまくいかないURIの場合、 str = uri.read のところで
c:/ruby/lib/ruby/1.8/open-uri.rb:287:in `open_http': 403 Forbidden (OpenURI::HTTPError)
とエラーが返ってきます。
ブラウザのアドレス欄に うまくいかないURIを直接入力してジャンプした場合はFobiddenになりません。
cgi経由だとうまくいかないようです。
以上です。よろしくおねがいします。
■ このスレッドは過去ログ倉庫に格納されています