URL

 test specified URL for validity

 Calling Sequence Head( url, options )

Parameters

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

Options

 • cafile=string
 a certificate file to use when authenticating the server. Maple includes a certificate file containing certificates for the major Certificate Authorities.
 • mode=one of text, binary, or auto
 Specifies whether the reply data should be treated as a string (mode=text) or as  an Array with data type integer[1] (mode=binary). When mode=auto, the data type is determined by relying on the data type provided by the server. The default is auto. This is only supported by the http and https schemes. FTP transfers are always treated as binary.
 • output=list or one of content, headers, or code
 a list of one or more of content, headers, and code, or one of the symbols content, headers, or code. This determines what will be returned by Head. The output will be an expression sequence with the corresponding values. The default is headers. This option is only valid with http and https schemes.
 the password for authentication. This supersedes any password included in url directly.
 • 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.
 password to use for authentication against the proxy specified by the proxy option.
 • proxyuser=string
 username to use for authentication against the proxy specified by the proxy option.
 • 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.
 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.
 • timeout=posint
 the number of seconds to wait before aborting the transfer. The default is infinity (in other words, no timeout).
 • user=string
 the user name for authentication. This supersedes any user name included in url directly.
 • verify=truefalse
 Specifies whether Maple should 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.

Description

 • The Head command tests the URL specified in url for validity using an HTTP request with the HEAD method. Head requires the URL schemes to be one of http or https.
 • As specified in RFC 2616, "[t]he HEAD method is identical to GET except that the server must not return a message-body in the response. The metainformation contained in the HTTP headers in response to a HEAD request should be identical to the information sent in response to a GET request."
 • 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.

Output

 • The output option is a list of one or more of content, headers, and code or one of the symbols content, headers, or code.
 content is the content returned by the URL. You can 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{Head}\left("http://www.maplesoft.com"\right)$
 ${table}{}\left(\left[{"Content-Length"}{=}{"151"}{,}{"Content-Type"}{=}{"text/html; charset=utf-8"}{,}{"X-Powered-By"}{=}{"ASP.NET"}{,}{"Location"}{=}{"https://www.maplesoft.com/formdata"}{,}{"X-Frame-Options"}{=}{"sameorigin"}{,}{"Server"}{=}{"Microsoft-IIS/8.5"}{,}{"Date"}{=}{"Tue, 09 Mar 2021 02:27:17 GMT"}\right]\right)$ (1)
 > $\mathrm{URL}:-\mathrm{Head}\left("https://www.maplesoft.com",\mathrm{output}=\mathrm{content}\right)$
 ${""}$ (2)

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

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

Compatibility

 • The URL[Head] command was introduced in Maple 2017.