Challenge!

Faradayの使い方

FaradayというHTTPクライアントライブラリがとても良い
後で見返すためにメモ

Faradayの使い方

Gemfileはこんな感じ

  # httpリクエスト
  gem 'faraday'
  # リダイレクトを追う
  gem 'faraday_middleware'
  # クッキーを扱う
  gem 'faraday-cookie_jar'

ファイルのアップロードとかする時はmultipartを指定するのかな?
間違ってたらごめんなさい

    conn = Faraday.new(:url => 'https://www.hoge.com/') do |faraday|
      faraday.request :multipart
      faraday.request  :url_encoded
      faraday.adapter :net_http
    end

簡単にgetリクエストが出来る

    conn.get do |req|
      req.url '/foge'
    end

postしたい場合はPOSTを指定すれば簡単に出来る
下記はcookieを指定して、画像をアップロードする例

    conn.post do |req|
      req.url '/foge'
      req.headers['Cookie'] = cookie
      req.headers['Content-Type'] = 'image'
      req.body = {
        name: "hoge",
        image: Faraday::UploadIO.new('hoge.jpg', 'image/jpeg')
      }
    end

キーを付けないでPOST出来ました 下記はaudioを送信する例

    conn.post do |req|
      req.url '/foge'
      req.headers['Cookie'] = cookie
      req.headers['Content-Type'] = 'audio/l16; rate=16000;'
      req.body = File.binread("hoge.wav")
    end