2011-10-19 4 views
3

ruby​​とopen-uriを使用してGoogleマップWebサービスAPIからデンマークの住所を取得しようとしています。Rubyの「open-uri」を使用したURIを開くときに問題が発生する

エアロ、デンマーク取得しよう:http://maps.googleapis.com/maps/api/geocode/json?address=ærø&センサー=偽&地域を= ChromeでDK作品はしていませんオープン-URI:

ここ
require 'rubygems' 
require "open-uri" 
require 'json' 

uri = "http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false&region=dk" 
response = open(uri) 
array = JSON.parse(response) 
pp array 

それはそれを行うための別の方法は、文字をエスケープするように思わ

/usr/lib/ruby/1.8/uri/common.rb:436:in `split': bad URI(is not URI?): http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false&region=dk (URI::InvalidURIError) 

が得られます。

uri = "http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false&region=dk" 
uri_escaped = URI.escape(uri) 
response = open(uri_escaped) 
array = JSON.parse(response.read) 
pp array 

しかし、この

誰もがこの問題を解決することができるものの任意のアイデアを持っている:-)引っ張りだこされていないエスケープ結果は((エスケープフィードバックを得るか、UTF-8要求)を送信し得?ここ

Rubyのバージョンは1.8.7

答えて

0

はそれを考え出している:

をちょうど第二の例の先頭に

require 'string19' 

を追加し、それが

の作品
関連する問題