logo       

[ruby-list:42087] 問題解決御礼 Was: [Q] http get 時の form への入力について: msg#00118

lang.ruby.japanese

Subject: [ruby-list:42087] 問題解決御礼 Was: [Q] http get 時の form への入力について

お蔭様で、問題が解決しました。

原因は、小生が、 HTTP のヘッダと クエリを混同していた、
ということでした。get でクエリをつけるには okkez 様の
ご指摘のように、path にクエリを足してやればよい。

また、日本語などを使う場合には、田中様の御指導のように
CIG.escape() で、URLエンコードする。という訳で、次の
コードで目的を達成することができました。

#!/usr/bin/env ruby
# -*- coding:euc-japan-unix; mode:ruby -*-

require 'net/http'
Net::HTTP.version_1_2 # おまじない
require 'cgi'

$KCODE="e" # EUC

def result_of_analisys(page)
raise "解析結果がありません" unless page =~
/<h2>(.*?)の解析結果<\/h2>.*?(<b>.*)<br>/
return($2.gsub!(/<b>|<\/b>/, "").gsub!(/<br>/, "\n"))
end

Net::HTTP.start('seibun.nosv.org', 80) {|http|
response = http.get('/?p=' + CGI.escape(ARGV[0]))
puts result_of_analisys(response.body)
}

ありがとうございました
--
逸見研一(いつみけんいち)
Mixi http://mixi.jp/show_friend.pl?id=113732
Orkut http://www.orkut.com/Profile.aspx?uid=11299027584966195898
Blog http://d.hatena.ne.jp/amt/
Plan http://calendar.yahoo.co.jp/amt_tmp




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise