#author("2021-11-25T09:28:14+00:00","default:hotate","hotate") #author("2023-10-22T08:55:46+00:00;2021-11-25T09:28:14+00:00","default:hotate","hotate") #contents &tag(Ruby, HTTP); &tag(Ruby,HTTP); * 情報 [#v759a63a] - [[Rubyist Magazine - 標準添付ライブラリ紹介 【第 7 回】 net/http>http://magazine.rubyist.net/?0013-BundledLibraries]] - [[RubyのHTTPリクエストをできるだけシンプルに実装する - Qiita>https://qiita.com/takano-h/items/dd10818eb7e09161bc29]] 実は1行で書けることを知ったので open-uri との比較も含めて少しまとめてみました。 - [[Rubyでnet/http(Net::HTTP)を使う駄目コードを書いてたので直した | EasyRamble>https://easyramble.com/fix-ruby-net-http-bad-code.html]] ちょっとまずい書き方をしていました。エラー処理をしっかりするように修正を行いましたのでその記録。 * [[プロキシ]] [#s071996c] - [[プログラム用例 - ネットワーク - プロキシ経由の HTTP アクセス>http://atomic.jpn.ph/prog/net/proxy.html#ruby]] 標準的なプロキシ環境変数設定を使う。 $ export http_proxy="http://atomic.jpn.ph:3128/" - [[library open-uri>http://docs.ruby-lang.org/ja/2.1.0/library/open=2duri.html]] http_proxy や ftp_proxy などの環境変数は、デフォルトで有効になっています。 プロキシを無効にするには :proxy => nil とします。 open("http://www.ruby-lang.org/en/", :proxy => nil) {|f| ... } * POST [#l7f52d0f] - [[【ruby】net/httpを使ってPOSTでJSON投げる時、httpリクエストヘッダを追加して通信はhttps - 東京伊勢海老通信>https://altarf.net/computer/ruby/2890]] httpリクエストヘッダ追加(編集)したい req = Net::HTTP::Post.new(uri.request_uri) #があるとして req["Content-Type"] = "application/json" req["Authorization"] = access_token * エンコード [#q4ee8e08] - [[URI#escape と URI#unescape は Ruby 3.0.0 から削除された - Eggshell>https://imaizumimr.hatenablog.com/entry/2021/01/01/141154]] (2021/1/1) 代わりに ERB::Util.#url_encode , CGI.escape , URI.encode_www_form , WEBrick::HTTPUtils.#escape_form , WEBrick::HTTPUtils.#escape などの使用を検討してください。 - [[【翻訳】URI.escapeは非推奨メソッドです。あなたのクエリ文字列をパーセントエンコードするには - Qiita>https://qiita.com/jnchito/items/dc9285884b2349833fad]] (2021/02/28) Ruby 2.7.0ではURI.escapeまたはエイリアスメソッドのURI.encodeを呼びだしたときに警告が出ます。 クエリ文字列をパーセントエンコードする URI.encode_www_form_component(string, enc=nil)