Logs in to the remote host. The session must have been previously connected. If user
is the string “anonymous” and the password
is nil
, “anonymous@” is used as a password. If the acct
parameter is not nil
, an FTP
ACCT command is sent following the successful login. Raises an exception on error (typically Net::FTPPermError
).
Retrieves remotefile
in binary mode, storing the result in localfile
. If localfile
is nil, returns retrieved data. If a block is supplied, it is passed the retrieved data in blocksize
chunks.
Transfers localfile
to the server in binary mode, storing the result in remotefile
. If a block is supplied, calls it, passing in the transmitted data in blocksize
chunks.
Returns an array of filenames in the remote directory.
Returns an array of file information in the directory (the output is like ‘ls -l`). If a block is given, it iterates through the listing.
Returns data (e.g., size, last modification time, entry type, etc.) about the file or directory specified by pathname
. If pathname
is omitted, the current directory is assumed.
Returns system information.
Returns the status (STAT command). pathname - when stat is invoked with pathname as a parameter it acts like
list but alot faster and over the same tcp session.
Posts data to the specified URI
object.
Example:
require 'net/http' require 'uri' Net::HTTP.post URI('http://www.example.com/api/search'), { "q" => "ruby", "max" => "50" }.to_json, "Content-Type" => "application/json"
Creates a new Net::HTTP
object, then additionally opens the TCP connection and HTTP
session.
Arguments are the following:
hostname or IP address of the server
port of the server
address of proxy
port of proxy
user of proxy
pass of proxy
optional hash
opt sets following values by its accessor. The keys are ca_file
, ca_path
, cert, cert_store
, ciphers, close_on_empty_response
, key, open_timeout
, read_timeout
, ssl_timeout
, ssl_version
, use_ssl, verify_callback
, verify_depth
and verify_mode. If you set :use_ssl as true, you can use https and default value of verify_mode
is set as OpenSSL::SSL::VERIFY_PEER.
If the optional block is given, the newly created Net::HTTP
object is passed to it and closed when the block finishes. In this case, the return value of this method is the return value of the block. If no block is given, the return value of this method is the newly created Net::HTTP
object itself, and the caller is responsible for closing it upon completion using the finish() method.
Returns true if the HTTP
session has been started.
Opens a TCP connection and HTTP
session.
When this method is called with a block, it passes the Net::HTTP
object to the block, and closes the TCP connection and HTTP
session after the block has been executed.
When called with a block, it returns the return value of the block; otherwise, it returns self.
Finishes the HTTP
session and closes the TCP connection. Raises IOError
if the session has not been started.
Posts data
(must be a String) to path
. header
must be a Hash
like { ‘Accept’ => ‘/’, … }.
This method returns a Net::HTTPResponse
object.
If called with a block, yields each fragment of the entity body in turn as a string as it is read from the socket. Note that in this case, the returned response object will not contain a (meaningful) body.
dest
argument is obsolete. It still works but you must not use it.
This method never raises exception.
response = http.post('/cgi-bin/search.rb', 'query=foo') # using block File.open('result.txt', 'w') {|f| http.post('/cgi-bin/search.rb', 'query=foo') do |str| f.write str end }
You should set Content-Type: header field for POST. If no Content-Type: field given, this method uses “application/x-www-form-urlencoded” by default.
Sends a PROPFIND request to the path
and gets a response, as an HTTPResponse
object.
Sends a TRACE request to the path
and gets a response, as an HTTPResponse
object.
Sends an HTTPRequest
object req
to the HTTP
server.
If req
is a Net::HTTP::Post
or Net::HTTP::Put
request containing data, the data is also sent. Providing data for a Net::HTTP::Head
or Net::HTTP::Get
request results in an ArgumentError
.
Returns an HTTPResponse
object.
When called with a block, passes an HTTPResponse
object to the block. The body of the response will not have been read yet; the block can process it using HTTPResponse#read_body
, if desired.
This method never raises Net::* exceptions.
Sends a STARTTLS command to start TLS session.
Sends a LOGIN command to identify the client and carries the plaintext password
authenticating this user
. Note that, unlike calling authenticate()
with an auth_type
of “LOGIN”, login()
does not use the login authenticator.
A Net::IMAP::NoResponseError
is raised if authentication fails.
Sends a EXAMINE command to select a mailbox
so that messages in the mailbox
can be accessed. Behaves the same as select()
, except that the selected mailbox
is identified as read-only.
A Net::IMAP::NoResponseError
is raised if the mailbox does not exist or is for some reason non-examinable.
Sends a SUBSCRIBE command to add the specified mailbox
name to the server’s set of “active” or “subscribed” mailboxes as returned by lsub()
.
A Net::IMAP::NoResponseError
is raised if mailbox
cannot be subscribed to; for instance, because it does not exist.