私が持っているURLのように:私のブラウザで使用ハッシュ値RestClient
http://172.0.0.1:22230/test.action?data={"foo":"bar","joe":"doe"}&sign=x6das
私はそのURLからデータを取得することができますが、私は、使用鋸山をしていた場合
Nokogiri::HTML(open('http://172.0.0.1:22230/test.action?data={"foo":"bar","joe":"doe"}&sign=x6das'))
私はRestClient
でもURI::InvalidURIError: bad URI(is not URI?): http://172.0.0.1:22230/test.action?data={"foo":"bar","joe":"doe"}&sign=x6das
from /home/worka/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb:176:in `split'
取得します0
RestClient.get 'http://172.0.0.1:22230/test.action?data={"foo":"bar","joe":"doe"}&sign=x6das'
同じエラーが発生しました。
'Nokogiri :: HTML(open( 'http://google.com/test?data= {" foo ":" bar "、" joe ":" doe "}&sign = x6das'))' => 'OpenURI :: HTTPError:404見つかりません '。あなたのURIを書くことができますか? – Ilya
@Ilya私はstackoverflowでオリジナルのuriを書くのは悪い考えだと思っていますが、私は元のurlを私のquetionでよく編集します。 – itx
Nokogiriは悪いURIとは関係ありません。そのレベルのコードを認識せず、渡されたストリームのみを読み込み、結果の文字列を解析します。 OpenURIまたはRestClientは、そのエラーを返すレイヤーです。コード内のどのコンポーネントが何をするのかを理解することは重要です。 Nokogiriのリファレンスとタグを削除し、OpenURIで置き換えてください。あなたの質問はもっと理にかなっています。 –