Net::HTTP
ネット エイチティーティーピー(標準ライブラリ)
意味 HTTPクライアントの機能を提供
Net::HTTPとは?
Net::HTTPは、Rubyの標準ライブラリに含まれるクラスで、HTTPプロトコルを使用したネットワーク通信を簡単に行うための機能を提供します。Webサーバーとの通信やAPIリクエストの送信などに使用されます。
Net::HTTPの具体的な使い方
GETリクエストの送信と応答の処理
require 'net/http'
require 'uri'
require 'json'
# リクエスト先のURLを設定
uri = URI('https://api.github.com/users/octocat')
# Net::HTTPを使用してGETリクエストを送信
response = Net::HTTP.get_response(uri)
# レスポンスの処理
case response
when Net::HTTPSuccess
# JSONレスポンスをパース
user_data = JSON.parse(response.body)
puts "GitHub ユーザー情報:"
puts "名前: #{user_data['name']}"
puts "場所: #{user_data['location']}"
puts "フォロワー数: #{user_data['followers']}"
puts "公開リポジトリ数: #{user_data['public_repos']}"
else
puts "エラー: #{response.code} #{response.message}"
end
👇出力結果
GitHub ユーザー情報:
名前: The Octocat
場所: San Francisco
フォロワー数: 8135
公開リポジトリ数: 8
この例では、Net::HTTPを使用してGitHub APIにGETリクエストを送信し、特定のユーザー(この場合は'octocat')の情報を取得しています。レスポンスのステータスコードを確認し、成功した場合はJSONレスポンスをパースしてユーザー情報を表示します。エラーが発生した場合は、エラーメッセージを表示します。
POSTリクエストの送信と認証の使用
require 'net/http'
require 'uri'
require 'json'
# リクエスト先のURLを設定
uri = URI('https://api.github.com/gists')
# リクエストボディを作成
data = {
description: 'Example of creating a gist',
public: true,
files: {
'example.rb' => {
content: 'puts "Hello, World!"'
}
}
}
# Net::HTTPを使用してPOSTリクエストを作成
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = 'Bearer YOUR_GITHUB_TOKEN'
request['Content-Type'] = 'application/json'
request.body = data.to_json
# リクエストを送信
response = http.request(request)
# レスポンスの処理
case response
when Net::HTTPSuccess
result = JSON.parse(response.body)
puts "Gistが作成されました。URL: #{result['html_url']}"
else
puts "エラー: #{response.code} #{response.message}"
puts response.body
end
この例では、Net::HTTPを使用してGitHub APIにPOSTリクエストを送信し、新しいGistを作成しています。認証トークンを使用してリクエストを認証し、JSONデータをリクエストボディとして送信します。レスポンスを処理して、成功した場合は作成されたGistのURLを表示し、エラーが発生した場合はエラーメッセージを表示します。注意: 実際に使用する際は、'YOUR_GITHUB_TOKEN'を有効なGitHubトークンに置き換える必要があります。
Net::HTTPに関するよくある質問
Net::HTTPが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのNet::HTTPやFileUtils、Complex、Rational、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!