
今晩わ。
RubyでNet::HTTPをもちいてPOST送信する際の処理について
質問です。
Net::HTTPクラスのインスタンスメソッドのpostメソッドを用いて送信する場合
送信内容を
# version 1.2 (Ruby 1.8.x or later)
response = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby')
上記のように、引数に渡していると思います。
このとき、値の中にパラメータのデリミタと同じ&を入れたい場合どうしたらいいのでしょうか?
例えば
query=subject&target=ruby&PHP
のような感じでvalueとして&を渡す場合です。
Net**HTTP::Postクラスのrequestメソッドを用いてハッシュとして渡した時は問題なかったのですが、上記のpostメソッドの時がPOSTされた値を取得するときにキチンと取得できませんでした。これはなにか対処方法があるのでしょうか?
ご教授ください。
おねがいします。
No.1ベストアンサー
- 回答日時:
この辺ちゃんと使った経験が無いので、「普通こうする」という回答にはなって無いかもしれませんが・・・
>Net**HTTP::Postクラスのrequestメソッドを用いてハッシュとして渡した時
これは、 #set_form_data (#form_data=) で予め値を入れたっていうことですよね?
net/http ライブラリのソースを覗いてみると、set_form_dataの方はエンコードかけていますが、HTTP#postの2引数目はそのまま文字列として取り扱っているみたいです。
ということで、一度きりの使い捨てなら「query=subject&target=ruby&PHP」を「query=subject&target=ruby%26PHP」へ書き換えれば済むんじゃないでしょうか。
こういう使い方が多いのであれば、ヘルパーメソッド作っておいてもいいかもしれませんが・・・
https://ideone.com/3fi2I
そもそも、HTTP#post側だとこういう用法を想定していないのかもしれませんね。
フォームのデータ送るなら、#form_data=を予め使っておく方が素直なのかもしれません。
なるほど・・。postメソッドを使いたい理由は、単純に記述が短くてすむかなとおもたからです。
Net::HTTP::Postとだと、間にワンクッション挟むことになるので
ちょこと冗長になるかなと・・・・・・。
Net::HTTP::Postをつかって自分で、楽な自作メソッドつくったほうがいいかもですね・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
100万件越えCSVから条件を満た...
-
一週間用のカレンダー
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
ルビー言語 csvファイル part2
-
ルビー言語 ライブラリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えてください。vb5.0
-
Csvファイルの最終行を取得する...
-
実行時エラー450:引数の数が一...
-
get() と find() の違いについて
-
Pythonで複数のメソッドをまと...
-
エラー「メソッドまたはデータ...
-
A1の値をファイル名に指定した...
-
エクセルVBA オートフィルタで...
-
VBAで型が一致しないエラー(バ...
-
エラー・・
-
メソッド定義の構文のdefって
-
VBからAccessのデータベースを...
-
singletonメソッドへのアクセス
-
Rails4でJSONのParseErrorを判定
-
ハッシュのハッシュのソート
-
「arg」は何の略?
-
What class are you in? には何...
-
class roomとclassroom どちら...
-
pythonのerrorコード
-
HSTLやSSTL等のI/Oピン
おすすめ情報