0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

uriライブラリ 簡易まとめ

Posted at

URI.scheme

スキームを文字列で返す。

URI.host

ホストを文字列で返す。

URI.port

ポート番号を文字列で返す。

URI.query

クエリを文字列で返す。

URI.path

パスを文字列で返す。

URI.request_uri

path + '?' + queryを文字列で返す。 query が nil である場合は、自身の path を返す。

実践

Qiitaでrubyを検索した結果画面のurlをURIオブジェクトにパースしてみましょう。

require 'uri'

uri = URI.parse('https://qiita.com/search?q=ruby')
puts uri.schem
#=> https
puts uri.host
#=> qiita.com
puts uri.port
#=> 443
puts uri.path
#=> /search
puts uri.query
#=> q=ruby
puts uri.request_uri
#=> /search?q=ruby

join

引数に渡した文字列(変数)を連結してURIオブジェクトを生成する。

encode_www_form

引数で渡した値からURL-encoded form dataを生成する。
私値は配列やハッシュも可能。
GETでuriにパラメータを渡す時などに利用。


uri = URI.join('https://qiita.com','/search')
puts uri
# => https://qiita.com/search
params = {
name: 'hogehoge',
email: 'hogehoge@hogehoge.com'
}
uri.query = URI.encode_www_form(params)
puts uri
# => https://qiita.com/search?name=hogehoge&email=hogehoge%40hogehoge.com
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?