Allows OptionParser
to handle HTTP URIs.
Returns a Hash
of the defined schemes
Create a new URI::HTTP
object from components, with syntax checking.
The components accepted are userinfo, host, port, path, query and fragment.
The components should be provided either as an Array, or as a Hash
with keys formed by preceding the component names with a colon.
If an Array is used, the components must be passed in the order [userinfo, host, port, path, query, fragment].
Example:
newuri = URI::HTTP.build(host: 'www.example.com', path: '/foo/bar') newuri = URI::HTTP.build([nil, "www.example.com", nil, "/path", "query", 'fragment'])
Currently, if passed userinfo components this method generates invalid HTTP
URIs as per RFC 1738.
Creates a new URI::FTP
object from components, with syntax checking.
The components accepted are userinfo
, host
, port
, path
and typecode
.
The components should be provided either as an Array, or as a Hash
with keys formed by preceding the component names with a colon.
If an Array is used, the components must be passed in the order
If the path supplied is absolute, it will be escaped in order to make it absolute in the URI
. Examples:
require 'uri' uri = URI::FTP.build(['user:password', 'ftp.example.com', nil, '/path/file.zip', 'i']) puts uri.to_s -> ftp://user:password@ftp.example.com/%2Fpath/file.zip;type=i uri2 = URI::FTP.build({:host => 'ftp.example.com', :path => 'ruby/src'}) puts uri2.to_s -> ftp://ftp.example.com/ruby/src
Creates a new URI::FTP
object from generic URL components with no syntax checking.
Unlike build(), this method does not escape the path component as required by RFC1738; instead it is treated as per RFC2396.
Arguments are scheme
, userinfo
, host
, port
, registry
, path
, opaque
, query
and fragment
, in that order.
v
String
public setter for the typecode v
. (with validation)
see also URI::FTP.check_typecode
require 'uri' uri = URI.parse("ftp://john@ftp.example.com/my_file.img") #=> #<URI::FTP:0x00000000923650 URL:ftp://john@ftp.example.com/my_file.img> uri.typecode = "i" # => "i" uri #=> #<URI::FTP:0x00000000923650 URL:ftp://john@ftp.example.com/my_file.img;type=i>
Returns the path from an FTP
URI
.
RFC 1738 specifically states that the path for an FTP
URI
does not include the / which separates the URI
path from the URI
host. Example:
ftp://ftp.example.com/pub/ruby
The above URI
indicates that the client should connect to ftp.example.com then cd pub/ruby from the initial login directory.
If you want to cd to an absolute directory, you must include an escaped / (%2F) in the path. Example:
ftp://ftp.example.com/%2Fpub/ruby
This method will then return “/pub/ruby”