Rubyのnet/httpライブラリの使い方を現役エンジニアが解説【初心者向け】
初心者向けにRubyのnet/httpライブラリの使い方について解説しています。これはHTTPを扱う標準ライブラリです。net/httpライブラリの基本の使い方と使用例を見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Rubyのnet/httpライブラリの使い方について解説します。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
net/httpライブラリの使い方について詳しく説明していくね!
お願いします!
net/httpライブラリとは
汎用データを転送したりするプロトコルで、HTTPを扱ったりするためのライブラリーの一つとしてnet/httpがRubyにあります。
平たく言えば、Webサーバーからドキュメントを得たりフォームの情報を送信したりすることがRubyのプログラムでできてしまうということです。
net/httpライブラリの使い方
net/httpライブラリの使い方としては最初に
require 'net/http'
と書きます。次にuriをつかう場合は
require 'uri'
と書きます。その他
Net::HTTP メソッド
などを使ってドキュメントを取得したります。
実際に書いてみよう
それでは実際に書いてみましょう。以下のコードをファイルに書いてみてください。
require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('https://www.yahoo.co.jp/') #=> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> ............
こちらファイルを実行すると上記のように長くyahooのトップページのソースが表示されますね。
ではもう少し汎用的に次のコードを見てください。
require 'net/http' require 'uri' url = URI.parse('http://www.yahoo.co.jp') res = Net::HTTP.start(url.host, url.port) {|http| http.get('/index.html') } puts res.body #=> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <link rel="shortcut icon" href="https://s.yimg.jp/favicon.ico" type="image/vnd.microsoft.icon" /> <link rel="icon" href="https://s.yimg.jp/favicon.ico" type="image/vnd.microsoft.icon" /> ............
Net::HTTP.start メソッドで、HTTP セッションを開始します。webサーバ名とhost名が引数として渡されています。getメソッドはパスを取得します。
筆者プロフィール
町田 耕
学生時代は会計学専攻。塾講師勤務を経て、企業のCFOとして会社経営に携わる。 会社経営から一線を退いた後、インフラエンジニアの妻の勧めでプログラミングを 独学で始め、プログラミングセミナーなど転々としながら、開発案件に携わるようになる。 現在、フリーランスとして活動しながらテックアカデミーのメンターも勤めている。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。