Ruby/Rubyの基礎知識

Rubyによるネットワーク通信の基礎(3ページ目)

Rubyを使ってソケットを介したネットワーキング処理を行う方法を紹介します

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

HTTPプロトコルを実装する

最初に言及したように、数多くのプロトコルはTCPを基盤としています。実際にTCPSocketを使って、HTTP通信(と言ってもGETだけですが)を行うプログラムを書いてみましょう。

このプログラムは、$ ruby http.rb http://allabout.co.jp/gm/gc/446050/ と引数にURLを渡して使います。URL文字列のパースに便利なURIライブラリを使用しています。

hostに目的となるサーバ、portには80(httpsの場合443)を渡してTCPSocketをnewし、あとはHTTPの取り決めに従い、GET <パス> HTTP/1.0Host: <ホスト>を送信して最後に\r\n\r\nを送っています。これでsocketにはサーバからの返信が返ってくるという流れです。実際に流してみましょう。

渡したURLのhtmlが帰ってきているのがわかります。

もちろん実際にRubyでHTTPを扱う場合にTCPSocketを直接使うことはなく、Net::HTTPか、さらに抽象度が高いレイヤーのライブラリを使用します。

今回の記事はここまでとしますが、Rubyでウェブページを扱う部分はいずれ記事でも取り上げる予定です。

【編集部おすすめの購入サイト】
Amazonで Ruby 関連の書籍をチェック!楽天市場で Ruby 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます