ansible.windows.win_get_url – Downloads file from HTTP, HTTPS, or FTP to node
Note
This plugin is part of the ansible.windows collection (version 1.3.0).
To install it use: ansible-galaxy collection install ansible.windows.
To use it in a playbook, specify: ansible.windows.win_get_url.
Synopsis
- Downloads files from HTTP, HTTPS, or FTP to the remote server.
- The remote server must have direct access to the remote resource.
- For non-Windows targets, use the ansible.builtin.get_url module instead.
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| checksum  string  | If a checksum is passed to this parameter, the digest of the destination file will be calculated after it is downloaded to ensure its integrity and verify that the transfer completed successfully. This option cannot be set with checksum_url. | |
| checksum_algorithm  string  | 
 | Specifies the hashing algorithm used when calculating the checksum of the remote and destination file. | 
| checksum_url  string  | Specifies a URL that contains the checksum values for the resource at url. Like  checksum, this is used to verify the integrity of the remote transfer.This option cannot be set with checksum. | |
| client_cert  string  | The path to the client certificate (.pfx) that is used for X509 authentication. This path can either be the path to the  pfxon the filesystem or the PowerShell certificate pathCert:\CurrentUser\My\<thumbprint>.The WinRM connection must be authenticated with  CredSSPorbecomeis used on the task if the certificate file is not password protected.Other authentication types can set client_cert_password when the cert is password protected. | |
| client_cert_password  string  | The password for client_cert if the cert is password protected. | |
| dest  path / required  | The location to save the file at the URL. Be sure to include a filename and extension as appropriate. | |
| follow_redirects  string  | 
 | Whether or the module should follow redirects. allwill follow all redirect.nonewill not follow any redirect.safewill follow only "safe" redirects, where "safe" means that the client is only doing aGETorHEADon the URI to which it is being redirected.When following a redirected URL, the  Authorizationheader and any credentials set will be dropped and not redirected. | 
| force  boolean  | 
 | If  yes, will download the file every time and replace the file if the contents change. Ifno, will only download the file if it does not exist or the remote file has been modified more recently than the local file.This works by sending an http HEAD request to retrieve last modified time of the requested resource, so for this to work, the remote web server must support HEAD requests. | 
| force_basic_auth  boolean  | 
 | By default the authentication header is only sent when a webservice responses to an initial request with a 401 status. Since some basic auth services do not properly send a 401, logins will fail. This option forces the sending of the Basic authentication header upon the original request. | 
| headers  dictionary  | Extra headers to set on the request. This should be a dictionary where the key is the header name and the value is the value for that header. | |
| http_agent  string  | Default: "ansible-httpget" | Header to identify as, generally appears in web server logs. This is set to the  User-Agentheader on a HTTP request. | 
| maximum_redirection  integer  | Default: 50 | Specify how many times the module will redirect a connection to an alternative URI before the connection fails. If set to  0or follow_redirects is set tonone, orsafewhen not doing aGETorHEADit prevents all redirection. | 
| proxy_password  string  | The password for proxy_username. | |
| proxy_url  string  | An explicit proxy to use for the request. By default, the request will use the IE defined proxy unless use_proxy is set to  no. | |
| proxy_use_default_credential  boolean  | 
 | Uses the current user's credentials when authenticating with a proxy host protected with  NTLM,Kerberos, orNegotiateauthentication.Proxies that use  Basicauth will still require explicit credentials through the proxy_username and proxy_password options.The module will only have access to the user's credentials if using  becomewith a password, you are connecting with SSH using a password, or connecting with WinRM usingCredSSPorKerberos with delegation.If not using  becomeor a different auth method to the ones stated above, there will be no default credentials available and no proxy authentication will occur. | 
| proxy_username  string  | The username to use for proxy authentication. | |
| url  string / required  | The full URL of a file to download. | |
| url_method  string  | The HTTP Method of the request. aliases: method | |
| url_password  string  | The password for url_username. The alias password is deprecated and will be removed on the major release after  2022-07-01.aliases: password | |
| url_timeout  integer  | Default: 30 | Specifies how long the request can be pending before it times out (in seconds). Set to  0to specify an infinite timeout.aliases: timeout | 
| url_username  string  | The username to use for authentication. The alias user and username is deprecated and will be removed on the major release after  2022-07-01.aliases: user, username | |
| use_default_credential  boolean  | 
 | Uses the current user's credentials when authenticating with a server protected with  NTLM,Kerberos, orNegotiateauthentication.Sites that use  Basicauth will still require explicit credentials through the url_username and url_password options.The module will only have access to the user's credentials if using  becomewith a password, you are connecting with SSH using a password, or connecting with WinRM usingCredSSPorKerberos with delegation.If not using  becomeor a different auth method to the ones stated above, there will be no default credentials available and no authentication will occur. | 
| use_proxy  boolean  | 
 | If  no, it will not use the proxy defined in IE for the current user. | 
| validate_certs  boolean  | 
 | If  no, SSL certificates will not be validated.This should only be used on personally controlled sites using self-signed certificates. | 
Notes
Note
- If your URL includes an escaped slash character (%2F) this module will convert it to a real slash. This is a result of the behaviour of the System.Uri class as described in the documentation.
See Also
See also
- ansible.builtin.get_url
- 
The official documentation on the ansible.builtin.get_url module. 
- ansible.builtin.uri
- 
The official documentation on the ansible.builtin.uri module. 
- ansible.windows.win_uri
- 
The official documentation on the ansible.windows.win_uri module. 
- community.windows.win_inet_proxy
- 
The official documentation on the community.windows.win_inet_proxy module. 
Examples
- name: Download earthrise.jpg to specified path
  ansible.windows.win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg
- name: Download earthrise.jpg to specified path only if modified
  ansible.windows.win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg
    force: no
- name: Download earthrise.jpg to specified path through a proxy server.
  ansible.windows.win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\Users\RandomUser\earthrise.jpg
    proxy_url: http://10.0.0.1:8080
    proxy_username: username
    proxy_password: password
- name: Download file from FTP with authentication
  ansible.windows.win_get_url:
    url: ftp://server/file.txt
    dest: '%TEMP%\ftp-file.txt'
    url_username: ftp-user
    url_password: ftp-password
- name: Download src with sha256 checksum url
  ansible.windows.win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\temp\earthrise.jpg
    checksum_url: http://www.example.com/sha256sum.txt
    checksum_algorithm: sha256
    force: True
- name: Download src with sha256 checksum url
  ansible.windows.win_get_url:
    url: http://www.example.com/earthrise.jpg
    dest: C:\temp\earthrise.jpg
    checksum: a97e6837f60cec6da4491bab387296bbcd72bdba
    checksum_algorithm: sha1
    force: True
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| checksum_dest  string  | success and dest has been downloaded | <algorithm> checksum of the file after the download Sample: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 | 
| checksum_src  string  | force=yes or dest did not exist | <algorithm> checksum of the remote resource Sample: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 | 
| dest  string  | always | destination file/path Sample: C:\Users\RandomUser\earthrise.jpg | 
| elapsed  float  | always | The elapsed seconds between the start of poll and the end of the module. Sample: 2.1406487 | 
| msg  string  | always | Error message, or HTTP status message from web-server Sample: OK | 
| size  integer  | success | size of the dest file Sample: 1220 | 
| status_code  integer  | always | HTTP status code Sample: 200 | 
| url  string  | always | requested url Sample: http://www.example.com/earthrise.jpg | 
Authors
- Paul Durivage (@angstwad)
- Takeshi Kuramochi (@tksarah)
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_get_url_module.html