aliases: HTTPSession
HTTP のクライアントのためのクラスです。
Proxy(address, port = 80) -> Class
[permalink][rdoc]Proxy 経由で http サーバに接続するためのクラスを作成し返します。
このクラスは Net::HTTP を継承しているので Net::HTTP と全く同じように使えます。指定されたプロクシを常に経由して http サーバに接続します。
address が nil のときは Net::HTTP クラスをそのまま返します。
例1: Net::HTTP.new を使う
require 'net/http' proxy_class = Net::HTTP::Proxy('proxy.example.com', 8080) http = proxy_class.new('www.example.org') http.start {|h| h.get('/ja/') # proxy.example.com 経由で接続します。 }
例2: Net::HTTP.start を使う
require 'net/http' proxy_class = Net::HTTP::Proxy('proxy.example.com', 8080) proxy_class.start('www.example.org') {|h| h.get('/ja/') # proxy.example.com 経由で接続します。 }
http_default_port -> Integer
[permalink][rdoc]default_port -> Integer
HTTP のデフォルトポート (80) を返します。
get(uri) -> String
[permalink][rdoc]get(host, path, port = 80) -> String
指定した対象に GET リクエストを送り、そのボディを文字列として返します。
対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。
[SEE_ALSO] Net::HTTP#get
get_print(uri) -> ()
[permalink][rdoc]get_print(host, path, port = 80) -> ()
指定した対象から HTTP でエンティティボディを取得し、 $stdout に出力します。
対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。
[SEE_ALSO] Net::HTTP.get
require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('http://www.example.com/index.html')
もしくは
require 'net/http' Net::HTTP.get_print 'www.example.com', '/index.html'
get_response(uri) -> Net::HTTPResponse
[permalink][rdoc]get_response(host, path = nil, port = nil) -> Net::HTTPResponse
指定した対象に GET リクエストを送り、そのレスポンスを Net::HTTPResponse として返します。
対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。
[SEE_ALSO] Net::HTTP#get
https_default_port -> Integer
[permalink][rdoc]HTTPS のデフォルトポート (443) を返します。
version_1_1? -> false
[permalink][rdoc]is_version_1_1? -> false
何もしません。互換性のために残されており、常に false を返します。
[SEE_ALSO] Net::HTTP.version_1_2, Net::HTTP.version_1_2?
version_1_2? -> true
[permalink][rdoc]is_version_1_2? -> true
何もしません。互換性のために残されており、常に true を返します。
[SEE_ALSO] Net::HTTP.version_1_2, Net::HTTP.version_1_1?
new(address, port = 80, proxy_addr = :ENV, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP
[permalink][rdoc]新しい Net::HTTP オブジェクトを生成します。
proxy_addr に :ENV を指定すると自動的に環境変数 http_proxy からプロクシの URI を取り出し利用します。この場合環境変数 http_proxy が定義されていない場合にはプロクシは利用せず直接接続します。詳しくは URI::Generic#find_proxy を参照してください。
明示的にプロクシのホスト名とポート番号を指定してプロクシを利用することもできます。このときには proxy_addr にホスト名もしくは IP アドレスを渡します。このときに proxy_userを指定するとプロクシの認証が行われます。
このメソッドは TCP コネクションを張りません。
post_form(uri, params) -> Net::HTTPResponse
[permalink][rdoc]URI で指定した対象に フォームのデータを HTTP で POST します。
送るデータは params に文字列から文字列への Hash として渡します。
proxy_address -> String|nil
[permalink][rdoc]自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのアドレスを返します。
そうでなければ nil を返します。
[SEE_ALSO] Net::HTTP.Proxy
proxy_class? -> bool
[permalink][rdoc]自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならば真を返し、そうでなければ偽を返します。
[SEE_ALSO] Net::HTTP.Proxy
proxy_pass -> String|nil
[permalink][rdoc]自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシ認証のパスワードを返します。
そうでなければ nil を返します。
[SEE_ALSO] Net::HTTP.Proxy
proxy_port -> Integer|nil
[permalink][rdoc]自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのポート番号を返します。
そうでなければ nil を返します。
[SEE_ALSO] Net::HTTP.Proxy
proxy_user -> String|nil
[permalink][rdoc]自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスで、かつプロクシの認証を利用する場合はプロクシ認証のユーザ名を返します。
そうでなければ nil を返します。
[SEE_ALSO] Net::HTTP.Proxy
start(address, port = 80, proxy_addr = :ENV, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP
[permalink][rdoc]start(address, port = 80, proxy_addr = :ENV, proxy_port = nil, proxy_user=nil, proxy_pass=nil) {|http| .... } -> object
新しい Net::HTTP オブジェクトを生成し、 TCP コネクション、 HTTP セッションを開始します。
ブロックを与えた場合には生成したオブジェクトをそのブロックに渡し、ブロックが終わったときに接続を閉じます。このときはブロックの値を返り値とします。
ブロックを与えなかった場合には生成したオブジェクトを渡します。利用後にはこのオブジェクトを Net::HTTP#finish してください。
proxy_addr に :ENV を指定すると環境変数 http_proxy からプロクシの URI を取り出し利用します。環境変数 http_proxy が定義されていない場合にはプロクシは利用しません。
このメソッドは以下と同じです。
require 'net/http' Net::HTTP.new(address, port, proxy_addr, proxy_port, proxy_user, proxy_pass).start(&block)
[SEE_ALSO] Net::HTTP.new, Net::HTTP#start
version_1_2 -> true
[permalink][rdoc]何もしません。互換性のために残されており、常に true を返します。
[SEE_ALSO] Net::HTTP.version_1_1?, Net::HTTP.version_1_2?
started? -> bool
[permalink][rdoc]active? -> bool
HTTP セッションが開始されていたら真を返します。
active? は時代遅れのメソッドです。
address -> String
[permalink][rdoc]接続するアドレスを返します。
[SEE_ALSO] Net::HTTP.new
ca_file -> String | nil
[permalink][rdoc]信頼する CA 証明書ファイルのパスを返します。
[SEE_ALSO] Net::HTTP#ca_file=, OpenSSL::SSL::SSLContext#ca_file
ca_file=(path)
[permalink][rdoc]信頼する CA 証明書ファイルのパスを文字列で設定します。
ファイルには複数の証明書を含んでいても構いません。詳しくは OpenSSL::SSL::SSLContext#ca_file= を見てください。
デフォルトは nil (指定なし)です。
[SEE_ALSO] Net::HTTP#ca_file, OpenSSL::SSL::SSLContext#ca_file=
ca_path -> String | nil
[permalink][rdoc]信頼する CA 証明書ファイルが存在するディレクトリを設定します。
[SEE_ALSO] Net::HTTP#ca_path=, OpenSSL::SSL::SSLContext#ca_path
ca_path=(path)
[permalink][rdoc]信頼する CA 証明書ファイルが存在するディレクトリを設定します。
ファイル名はハッシュ値の文字列にしなければなりません。詳しくは OpenSSL::SSL::SSLContext#ca_path= を見てください。
デフォルトは nil (指定なし)です。
[SEE_ALSO] Net::HTTP#ca_path, OpenSSL::SSL::SSLContext#ca_path=
cert -> OpenSSL::X509::Certificate | nil
[permalink][rdoc]クライアント証明書を返します。
[SEE_ALSO] Net::HTTP#cert=, OpenSSL::SSL::SSLContext#cert
cert=(certificate)
[permalink][rdoc]クライアント証明書を設定します。
デフォルトは nil (クライアント証明書による認証をしない)です。
[SEE_ALSO] Net::HTTP#cert, OpenSSL::SSL::SSLContext#cert=
cert_store -> OpenSSL::X509::Store | nil
[permalink][rdoc]接続相手の証明書の検証のために使う、信頼している CA 証明書を含む証明書ストアを返します。
[SEE_ALSO] Net::HTTP#cert_store, OpenSSL::SSL::SSLContext#cert_store=
cert_store=(store)
[permalink][rdoc]接続相手の証明書の検証のために使う、信頼している CA 証明書を含む証明書ストアを設定します。
通常は Net::HTTP#ca_file= や Net::HTTP#ca_path= で設定しますが、より詳細な設定をしたい場合にはこちらを用います。
デフォルトは nil (証明書ストアを指定しない)です。
[SEE_ALSO] Net::HTTP#cert_store=, OpenSSL::SSL::SSLContext#cert_store
ciphers -> String | [String] | nil
[permalink][rdoc]Net::HTTP#ciphers で設定した値を返します。
OpenSSL::SSL::SSLContext#ciphers が返す値とは異なるので注意してください。
[SEE_ALSO] Net::HTTP#ciphers=
ciphers=(ciphers)
[permalink][rdoc]利用可能な共通鍵暗号を設定します。
OpenSSL::SSL::SSLContext#ciphers= と同じ形式で設定します。詳しくはそちらを参照してください。
[SEE_ALSO] Net::HTTP#ciphers
close_on_empty_response -> bool
[permalink][rdoc]レスポンスがボディを持っていない場合にコネクションを閉じるかどうかを返します。
デフォルトでは偽(閉じない)です。
[SEE_ALSO] Net::HTTP#close_on_empty_response=
close_on_empty_response=(bool)
[permalink][rdoc]レスポンスがボディを持っていない場合にコネクションを閉じるかどうかを設定します。
[SEE_ALSO] Net::HTTP#close_on_empty_response
continue_timeout -> Integer | nil
[permalink][rdoc]「100 Continue」レスポンスを待つ秒数を返します。
この秒数待ってもレスポンスが来ない場合はリクエストボディを送信します。
デフォルトは nil (待たない)です。
[SEE_ALSO] Net::HTTP#continue_timeout=
continue_timeout=(seconds)
[permalink][rdoc]「100 Continue」レスポンスを待つ秒数を指定します。
この秒数待ってもレスポンスが来ない場合はリクエストボディを送信します。
デフォルトは nil (待たない)です。
[SEE_ALSO] Net::HTTP#continue_timeout
copy(path, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に COPY リクエストをヘッダを initheader として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Copy
delete(path, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に DELETE リクエストをヘッダを initheader として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Delete
finish -> ()
[permalink][rdoc]HTTP セッションを終了します。セッション開始前にこのメソッドが呼ばれた場合は例外 IOError を発生します。
get(path, header = nil, dest = nil) -> Net::HTTPResponse
[permalink][rdoc]get(path, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティを取得し、 Net::HTTPResponse のインスタンスとして返します。
header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして送ります。 header は { 'Accept' = > '*/*', ... } という形のハッシュでなければいけません。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列としてブロックに与えます。このとき戻り値の Net::HTTPResponse オブジェクトは有効な body を持ちません。
dest は時代遅れの引数です。利用しないでください。 dest を指定した場合にはボディを少しずつ取得して順次「dest << ボディの断片」を実行します。
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。また、返り値が [レスポンスオブジェクト, そのボディ] となります。
# net/http version 1.1 response, body = http.get( '/index.html' ) # net/http version 1.2 response = http.get('/index.html') # compatible in both version response , = http.get('/index.html') response.body # compatible, using block File.open('save.txt', 'w') {|f| http.get('/~foo/', nil) do |str| f.write str end }
[SEE_ALSO] Net::HTTP#request_get
request_get(path, header = nil) -> Net::HTTPResponse
[permalink][rdoc]request_get(path, header = nil) {|response| .... } -> Net::HTTPResponse
get2(path, header = nil) -> Net::HTTPResponse
get2(path, header = nil) {|response| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティを取得します。 Net::HTTPResponse オブジェクトを返します。
header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして送ります。 header は { 'Accept' = > '*/*', ... } という形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、エンティティボディをソケットから読み出す前に、接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。大きなサイズのボディを一度に読みだすとまずく、小さなサイズに分けて取りだしたい場合にはこれを利用します。
# example response = http.request_get('/index.html') p response['content-type'] puts response.body # body is already read # using block http.request_get('/index.html') {|response| p response['content-type'] response.read_body do |str| # read body now print str end }
get2 は時代遅れなので使わないでください。
[SEE_ALSO] Net::HTTP#get, Net::HTTPResponse#read_body
head(path, header = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse のインスタンスを返します。
header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして送ります。 header は { 'Accept' = > '*/*', ... } という形のハッシュでなければいけません。
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。
require 'net/http' response = nil Net::HTTP.start('some.www.server', 80) {|http| response = http.head('/index.html') } p response['content-type']
[SEE_ALSO] Net::HTTP#request_head
request_head(path, header = nil) -> Net::HTTPResponse
[permalink][rdoc]request_head(path, header = nil) {|response| .... } -> Net::HTTPResponse
head2(path, header = nil) -> Net::HTTPResponse
head2(path, header = nil) {|response| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse オブジェクトを返します。
header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして送ります。 header は { 'Accept' = > '*/*', ... } という形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、 Net::HTTP#request_get と同じ動作をしますが、そもそもヘッダしか要求していないので body は空です。そのためこの動作はそれほど意味はありません。
head2 は時代遅れなので使わないでください。
response = http.request_head('/index.html') p response['content-type']
[SEE_ALSO] Net::HTTP#head
keep_alive_timeout -> Integer
[permalink][rdoc]以前のリクエストで使ったコネクションの再利用(keep-alive)を許可する秒数を返します。
デフォルトは2(秒)です。
[SEE_ALSO] Net::HTTP#keep_alive_timeout=
keep_alive_timeout=(seconds)
[permalink][rdoc]以前のリクエストで使ったコネクションの再利用(keep-alive)を許可する秒数を設定します。
この秒数以内に同じホストに次のリクエストを送った場合、ソケットを再利用します。
デフォルトは2(秒)です。これは一般的にサーバ側の keep-alive の秒数が2秒である場合が多いからです。
[SEE_ALSO] Net::HTTP#keep_alive_timeout
key -> OpenSSL::PKey::PKey | nil
[permalink][rdoc]クライアント証明書の秘密鍵を返します。
[SEE_ALSO] Net::HTTP#key=, OpenSSL::SSL::SSLContext#key
key=(key)
[permalink][rdoc]クライアント証明書の秘密鍵を設定します。
OpenSSL::PKey::RSA オブジェクトか OpenSSL::PKey::DSA オブジェクトを設定します。
デフォルトは nil (鍵なし)です。
[SEE_ALSO] Net::HTTP#key, OpenSSL::SSL::SSLContext#key=
local_host -> String | nil
[permalink][rdoc]接続に用いるローカルホスト名を返します。
nil の場合システムが適当にローカルホストを決めます。
デフォルトは nil です。
[SEE_ALSO] Net::HTTP#local_host=, Net::HTTP#local_port
local_host=(host)
[permalink][rdoc]接続に用いるローカルホスト名を指定します。
nil の場合システムが適当にローカルホストを決めます。
デフォルトは nil です。
require 'net/http'
http = Net::HTTP.new("www.example.com")
http.local_host = "192.168.0.5"
http.local_port = "53043"
http.start do |h|
p h.get("/").body
end
[SEE_ALSO] Net::HTTP#local_host=, Net::HTTP#local_port
local_port -> nil | Integer | String
[permalink][rdoc]接続に用いるローカルポートを返します。
nil の場合システムが適当にローカルポートを決めます。
デフォルトは nil です。
[SEE_ALSO] Net::HTTP#local_port=, Net::HTTP#local_host
local_port=(port)
[permalink][rdoc]接続に用いるローカルポートを設定します。
nil の場合システムが適当にローカルポートを決めます。
デフォルトは nil です。
require 'net/http'
http = Net::HTTP.new("www.example.com")
http.local_host = "192.168.0.5"
http.local_port = "53043"
http.start do |h|
p h.get("/").body
end
[SEE_ALSO] Net::HTTP#local_port=, Net::HTTP#local_host
[SEE_ALSO] Net::HTTP.new
lock(path, body, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に LOCK リクエストをヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Lock
mkcol(path, body, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に MKCOL リクエストをヘッダが initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Mkcol
move(path, body, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に MOVE リクエストをヘッダが initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Move
open_timeout -> Integer|nil
[permalink][rdoc]接続時に待つ最大秒数を返します。
この秒数たってもコネクションが開かなければ例外 Net::OpenTimeout を発生します。
デフォルトは60(秒)です。
[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout=
open_timeout=(seconds)
[permalink][rdoc]接続時に待つ最大秒数を設定します。
この秒数たってもコネクションが開かなければ例外 Net::OpenTimeout を発生します。 nilを設定するとタイムアウトしなくなります。
以下のコネクションを開くメソッドで有効です。
[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout
options(path, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に OPTIONS リクエストをヘッダが initheader として送り、レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Options
patch(path, data, initheader=nil, dest=nil) -> Net::HTTPResponse
[permalink][rdoc]patch(path, data, initheader=nil, dest=nil) {|body_segment| ... } -> Net::HTTPResponse
サーバ上の path にあるエンティティに対し文字列 data を PATCH リクエストで送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列としてブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を持ちません。
Dest は時代遅れの引数です。利用しないでください。 dest を指定した場合にはボディを少しずつ取得して順次「dest << ボディの断片」を実行します。
peer_cert -> OpenSSL::X509::Certificate | nil
[permalink][rdoc]サーバの証明書を返します。
SSL/TLS が有効でなかったり、接続前である場合には nil を返します。
[SEE_ALSO] OpenSSL::SSL::SSLSocket#peer_cert
port -> Integer
[permalink][rdoc]接続するポート番号を返します。
post(path, data, header = nil, dest = nil) -> Net::HTTPResponse
[permalink][rdoc]post(path, data, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列としてブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を持ちません。
POST する場合にはヘッダに Content-Type: を指定する必要があります。もし header に指定しなかったならば、 Content-Type として "application/x-www-form-urlencoded" を用います。
dest は時代遅れの引数です。利用しないでください。 dest を指定した場合にはボディを少しずつ取得して順次「dest << ボディの断片」を実行します。
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。また、返り値が [レスポンスオブジェクト, そのボディ] となります。
例:
# net/http version 1.1 response, body = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') # version 1.2 response = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') # using block File.open('save.html', 'w') {|f| http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') do |str| f.write str end }
[SEE_ALSO] Net::HTTP#request_post
request_post(path, data, header = nil) -> Net::HTTPResponse
[permalink][rdoc]request_post(path, data, header = nil) {|response| .... } -> Net::HTTPResponse
post2(path, data, header = nil) -> Net::HTTPResponse
post2(path, data, header = nil) {|response| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。返り値は Net::HTTPResponse のインスタンスです。
header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして送ります。 header は { 'Accept' = > '*/*', ... } という形のハッシュでなければいけません。
ブロックとともに呼び出されたときは、エンティティボディをソケットから読み出す前に、接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。
POST する場合にはヘッダに Content-Type: を指定する必要があります。もし header に指定しなかったならば、 Content-Type として "application/x-www-form-urlencoded" を用います。
post2 は時代遅れなので使わないでください。
# 例 response = http.request_post('/cgi-bin/nice.rb', 'datadatadata...') p response.status puts response.body # body is already read # using block http.request_post('/cgi-bin/nice.rb', 'datadatadata...') {|response| p response.status p response['content-type'] response.read_body do |str| # read body now print str end }
[SEE_ALSO] Net::HTTP#post, Net::HTTPResponse#read_body
propfind(path, body, initheader = {'Depth' => '0'}) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に PROPFIND リクエストをヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Propfind
proppatch(path, body, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に PROPPATCH リクエストをヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Proppatch
proxy? -> bool
[permalink][rdoc]プロクシを介して接続するなら真を返します。
[SEE_ALSO] Net::HTTP.Proxy
proxy_address -> String|nil
[permalink][rdoc]proxyaddr -> String|nil
プロクシ経由で接続する HTTP オブジェクトならプロクシのアドレスを返します。
そうでないなら nil を返します。
proxyaddr は時代遅れのメソッドです。
[SEE_ALSO] Net::HTTP#proxy_address=, Net::HTTP#proxy_port, Net::HTTP.new
proxy_address=(address)
[permalink][rdoc]プロクシのアドレス(ホスト名、IPアドレス)を指定します。
Net::HTTP#start で接続する前に設定する必要があります。
[SEE_ALSO] Net::HTTP#proxy_address=, Net::HTTP#proxy_port, Net::HTTP.new
proxy_from_env=(boolean)
[permalink][rdoc]プロクシ情報を環境変数から得るかどうかを指定します。
Net::HTTP#start で接続する前に設定する必要があります。
[SEE_ALSO] Net::HTTP#proxy_from_env?
proxy_from_env? -> bool
[permalink][rdoc]プロクシ情報を環境変数から得る場合に true を返します。
基本的に Net::HTTP.new や Net::HTTP.start の proxy_address 引数に :ENV を渡した場合に true になります。
環境変数 http_proxy が定義されていなくともこの値は true を返します。その場合にはプロクシは利用されず直接サーバに接続します。
[SEE_ALSO] Net::HTTP#proxy_from_env=
proxy_pass -> String|nil
[permalink][rdoc]プロクシ経由で接続し、さらにプロクシのユーザ認証をする HTTP オブジェクトなら認証のパスワードをを返します。
そうでないなら nil を返します。
[SEE_ALSO] Net::HTTP#proxy_pass=, Net::HTTP#proxy_user, Net::HTTP.new
proxy_pass=(pass)
[permalink][rdoc]プロクシのユーザ認証のパスワードを設定します。
Net::HTTP#start で接続する前に設定する必要があります。
[SEE_ALSO] Net::HTTP#proxy_pass, Net::HTTP#proxy_user, Net::HTTP.new
proxy_port -> Integer|nil
[permalink][rdoc]proxyport -> Integer|nil
プロクシのポート番号を返します。
プロクシを使わない場合は nil を返します。
proxyport は時代遅れのメソッドです。
[SEE_ALSO] Net::HTTP#proxy_port=, Net::HTTP#proxy_address, Net::HTTP.new
proxy_port=(port)
[permalink][rdoc]プロクシのポート番号を設定します。
Net::HTTP#start で接続する前に設定する必要があります。
[SEE_ALSO] Net::HTTP#proxy_port, Net::HTTP#proxy_address, Net::HTTP.new
proxy_uri -> String|nil
[permalink][rdoc]このメソッドは内部用なので使わないでください。
環境変数 http_proxy から得られるプロクシの URI を返します。
proxy_user -> String|nil
[permalink][rdoc]プロクシ経由で接続し、さらにプロクシのユーザ認証をする HTTP オブジェクトなら認証のユーザ名をを返します。
そうでないなら nil を返します。
[SEE_ALSO] Net::HTTP#proxy_pass, Net::HTTP#proxy_user=, Net::HTTP.new
proxy_user=(user)
[permalink][rdoc]プロクシのユーザ認証のユーザ名を設定します。
Net::HTTP#start で接続する前に設定する必要があります。
[SEE_ALSO] Net::HTTP#proxy_pass, Net::HTTP#proxy_user, Net::HTTP.new
put(path, data, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。
返り値は Net::HTTPResponse のインスタンスです。
[SEE_ALSO] Net::HTTP#request_put
1.1 互換モードの場合は、レスポンスに応じて例外が発生します。
request_put(path, data, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]request_put(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse
put2(path, data, initheader = nil) -> Net::HTTPResponse
put2(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse
サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックとともに呼び出されたときは、ボディをソケットから読み出す前に、接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。
put2 は時代遅れなので使わないでください。
[SEE_ALSO] Net::HTTP#put
read_timeout -> Integer|nil
[permalink][rdoc]読みこみ(read(2)) 一回でブロックしてよい最大秒数を返します。
この秒数たっても読みこめなければ例外 Net::ReadTimeout を発生します。
nilはタイムアウトしないことを意味します。
デフォルトは 60 (秒)です。
[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout=
read_timeout=(seconds)
[permalink][rdoc]読みこみ(read(2)) 一回でブロックしてよい最大秒数を設定します。
この秒数たっても読みこめなければ例外 Net::ReadTimeout を発生します。
nilを設定するとタイムアウトしなくなります。
このタイムアウト秒数はサーバとやりとりするメソッドで有効です。
デフォルトは 60 (秒)です。
[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout
request(request, data = nil) -> Net::HTTPResponse
[permalink][rdoc]request(request, data = nil) {|response| .... } -> Net::HTTPResponse
Net::HTTPRequest オブジェクト request をサーバに送信します。
POST/PUT の時は data も与えられます (GET/HEAD などで data を与えると ArgumentError を発生します)。
ブロックとともに呼びだされたときはソケットからボディを読みこまずに Net::HTTPResponse オブジェクトをブロックに与えます。
[SEE_ALSO] Net::HTTP#send_request
send_request(name, path, data = nil, header = nil) -> Net::HTTPResponse
[permalink][rdoc]HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。
response = http.send_request('GET', '/index.html') puts response.body
[SEE_ALSO] Net::HTTP#request
set_debug_output(io) -> ()
[permalink][rdoc]デバッグ出力の出力先を指定します。このメソッドは深刻なセキュリティホールの原因になるため、デバッグ以外では決して使わないでください。
io に nil を指定するとデバッグ出力を止めます。
http.set_debug_output($stderr)
ssl_timeout -> Integer | nil
[permalink][rdoc]SSL/TLS のタイムアウト秒数を返します。
設定されていない場合は nil を返します。
[SEE_ALSO] Net::HTTP#ssl_timeout=, OpenSSL::SSL::SSLContext#ssl_timeout
ssl_timeout=(sec)
[permalink][rdoc]SSL/TLS のタイムアウト秒数を設定します。
HTTP セッション開始時(Net::HTTP#start など)に OpenSSL::SSL::SSLContext#ssl_timeout= でタイムアウトを設定します。
デフォルト値は OpenSSL::SSL::SSLContext#ssl_timeout= と同じで、OpenSSL のデフォルト値(300秒)を用います。
[SEE_ALSO] Net::HTTP#ssl_timeout, OpenSSL::SSL::SSLContext#ssl_timeout=
ssl_version -> String | Symbol | nil
[permalink][rdoc]利用するプロトコルの種類を返します。
[SEE_ALSO] Net::HTTP#ssl_version=
ssl_version=(ver)
[permalink][rdoc]利用するプロトコルの種類を指定します。
OpenSSL::SSL::SSLContext.new で指定できるものと同じです。
[SEE_ALSO] Net::HTTP#ssl_version, OpenSSL::SSL::SSL#ssl_version=
start -> self
[permalink][rdoc]start {|http| .... } -> object
TCP コネクションを張り、HTTP セッションを開始します。すでにセッションが開始していたら例外 IOError を発生します。
ブロックを与えた場合には自分自身をそのブロックに渡し、ブロックが終わったときに接続を閉じます。このときはブロックの値を返り値とします。
ブロックを与えなかった場合には自分自身を返します。利用後にはこのオブジェクトを Net::HTTP#finish してください。
trace(path, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に TRACE リクエストをヘッダを initheader として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Trace
unlock(path, body, initheader = nil) -> Net::HTTPResponse
[permalink][rdoc]サーバの path に UNLOCK リクエストをヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクトで返します。
[SEE_ALSO] Net::HTTP::Unlock
use_ssl=(bool)
[permalink][rdoc]HTTP で SSL/TLS を使うかどうかを設定します。
HTTPS 使う場合は true を設定します。セッションを開始する前に設定をしなければなりません。
デフォルトでは false です。つまり SSL/TLS を有効にするには必ず use_ssl = true を呼ぶ必要があります。
use_ssl? -> bool
[permalink][rdoc]SSLを利用して接続する場合に真を返します。
verify_callback -> Proc
[permalink][rdoc]自身に設定されている検証をフィルタするコールバックを返します。
デフォルトのコールバックが設定されている場合には nil を返します。
[SEE_ALSO] Net::HTTP#verify_callback=, OpenSSL::X509::Store#verify_callback, OpenSSL::SSL::SSLContext#verify_callback
verify_callback=(proc)
[permalink][rdoc]検証をフィルタするコールバックを設定します。
詳しくは OpenSSL::X509::Store#verify_callback= や OpenSSL::SSL::SSLContext#verify_callback= を見てください。
[SEE_ALSO] Net::HTTP#verify_callback, OpenSSL::X509::Store#verify_callback=, OpenSSL::SSL::SSLContext#verify_callback=
verify_depth -> Integer
[permalink][rdoc]証明書チェイン上の検証する最大の深さを返します。
[SEE_ALSO] Net::HTTP#verify_depth=, OpenSSL::SSL::SSLContext#verify_depth
verify_depth=(depth)
[permalink][rdoc]証明書チェイン上の検証する最大の深さを設定します。
デフォルトは nil で、この場合 OpenSSL のデフォルト値(9)が使われます。
[SEE_ALSO] Net::HTTP#verify_depth, OpenSSL::SSL::SSLContext#verify_depth=
verify_mode -> Integer | nil
[permalink][rdoc]検証モードを返します。
デフォルトは nil です。
verify_mode=(mode)
[permalink][rdoc]検証モードを設定します。
詳しくは OpenSSL::SSL::SSLContext#verify_mode を見てください。クライアント側なので、 OpenSSL::SSL::VERIFY_NONE か OpenSSL::SSL::VERIFY_PEER のいずれかを用います。
デフォルトは nil で、VERIFY_NONE を意味します。