
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Tips: Rubyでresponse bodyをstreamで受け取ってNoMemoryErrorを回避する - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Tips: Rubyでresponse bodyをstreamで受け取ってNoMemoryErrorを回避する - Qiita
RubyやRailsなどでHTTPリクエストを行う場合に、response bodyをstreamで受け取る方法を紹介します。 単... RubyやRailsなどでHTTPリクエストを行う場合に、response bodyをstreamで受け取る方法を紹介します。 単純にリクエストをするとレスポンスの結果を全てメモリに載せてしまうので、メモリの節約や巨大なデータを取得するとNoMemoryErrorが発生してしまいます。 今回の手法はこのエラーになってしまう状態を回避する方法として有効です。 Net::HTTPの場合 にある通り、read_bodyというメソッドを用いることでstreamでデータの受け取りを行うことができます。ファイルに書き出すことでメモリを圧迫せずにデータを取得できます。 require 'net/http' uri = URI.parse('http://example.com/') Net::HTTP.start(uri.host, uri.port) do |http| http.request_ge