URL - Maple Programming Help

URL

 Get
 fetch data specified by a URL

 Calling Sequence Get( url, options )

Parameters

 url - a string specifying the URL from which to request data options - options as specified below

Options

 • mode=name

either text, binary, or auto.  In text mode, the data is treated as a string; in binary mode the data is treated as Array with data type integer[1].  When mode=auto, the type is determined by relying on the content type provided by the server.  The default is auto. This option is only supported by the http and https schemes.  ftp transfers are always treated as binary.

 • timeout=posint

the number of seconds to wait before aborting the transfer.  The default is infinity (aka no timeout).

 • output=list

a list of one or more of content, headers, and code.  This determines what will be returned by Get.  The output will be an expression sequence with the corresponding values.  The default is [content].

 • redirections=integer

For HTTP transfers, the number of times Maple should follow a redirect response (HTTP status 3xx) before giving up. The default is 0, meaning redirects are not followed.

 • requestheaders=list(string) or table

a list of strings and equations of strings that will be added to the http header that is sent as part of the request.

a list of strings specifying header fields to be returned.  This only has an effect if headers is specified in the output option.  If this option is not given, all received headers will be returned.

 • user=string

the user name for authentication. This supersedes any user name included in url directly.

the password for authentication. This supersedes any password included in url directly.

 • verify=truefalse

should Maple authenticate the identity of the server by verifying its SSL certificate against a list of verified Certificate Authorities.  The default is true.  This option is only valid when using https.

 • cafile=string

a certificate file to use when authenticating the server. Maple includes a certificate file containing certificates for the major Certificate Authorities.

 • proxy=string

a URL for a proxy server. This should include the protocol, host, and port number (if not default), For example, to connect to an HTTP proxy myproxy on port 3421, use proxy=http://myproxy:3421.

 • proxyuser=string

username to use for authentication against the proxy specified by the proxy option.

password to use for authentication against the proxy specified by the proxy option.

Description

 • The Get method fetches the data specified in url and imports it into Maple.  The data will be returned as a string or Array with data type integer[1] (this is controlled by the scheme and the mode option).
 • Get currently supports three url schemes: http, https and ftp.  Not all options to Get are valid for all URL schemes.
 • For http and https, a Content-Type (as specified in the http header) of text will be returned as a string.  All other content types are returned as an Array of integer[1].  This can be overridden using the mode option. For ftp, all transfers are binary, and the result will be returned as an Array of integer[1].
 • The output option is a list of one or more of content, headers, and code.

content is the content returned by the URL.  One may also specify content=string where the string is a filename to which the data will be written.

headers refers to the http (and https) header received from the server.  It is not supported for urls with the ftp scheme.  It is returned as a table of strings.

code refers to the http (and https) status code returned by the server.  It is not supported for urls with the ftp scheme.  It is returned as an integer.

Examples

 > $\mathrm{URL}:-\mathrm{Get}\left("http://www.maplesoft.com"\right):$
 > $\mathrm{URL}:-\mathrm{Get}\left("https://www.maplesoft.com",\mathrm{timeout}=100\right):$
 > $\mathrm{URL}:-\mathrm{Get}\left("ftp://ftp.cert.org/pub/README"\right):$

Connect to maplesoft.com using proxy server http://myproxy on port 3421 with specified proxy user credentials.

 > $\mathrm{URL}:-\mathrm{Get}\left("http://www.maplesoft.com",\mathrm{proxy}="http://myproxy:3421",\mathrm{proxyuser}="graymond",\mathrm{proxypassword}="apple"\right)$

Compatibility

 • The URL[Get] command was introduced in Maple 18.
 • For more information on Maple 18 changes, see Updates in Maple 18.