Documentation

win_uri - Interacts with webservices.

New in version 2.1.

Synopsis

  • Interacts with HTTP and HTTPS web services and supports Digest, Basic and WSSE HTTP authentication mechanisms.

Options

parameter required default choices comments
body
no
The body of the HTTP request/response to the web service.
content_type
no
Sets the "Content-Type" header.
dest
(added in 2.3)
no
Output the response body to a file.
headers
no
Key Value pairs for headers. Example "Host: www.somesite.com"
method
no GET
  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • OPTIONS
  • PATCH
  • TRACE
  • CONNECT
  • REFRESH
The HTTP Method of the request or response.
url
yes
HTTP or HTTPS URL in the form of (http|https)://host.domain:port/path
use_basic_parsing
no True
  • True
  • False
This module relies upon 'Invoke-WebRequest', which by default uses the Internet Explorer Engine to parse a webpage. There's an edge-case where if a user hasn't run IE before, this will fail. The only advantage to using the Internet Explorer praser is that you can traverse the DOM in a powershell script. That isn't useful for Ansible, so by default we toggle 'UseBasicParsing'. However, you can toggle that off here.

Examples

- name: Perform a GET and Store Output
  win_uri:
    url: http://example.com/endpoint
  register: http_output

# Set a HOST header to hit an internal webserver:
- name: Hit a Specific Host on the Server
  win_uri:
    url: http://example.com/
    method: GET
    headers:
      host: www.somesite.com

- name: Perform a HEAD on an Endpoint
  win_uri:
    url: http://www.example.com/
    method: HEAD

- name: POST a Body to an Endpoint
  win_uri:
    url: http://www.somesite.com/
    method: POST
    body: "{ 'some': 'json' }"

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
body The content of the body used when body is specified string {"id":1}
url The Target URL always string https://www.ansible.com
status_code The HTTP Status Code of the response. success int 200
use_basic_parsing The state of the "use_basic_parsing" flag. always bool True
raw_content The raw content of the HTTP response. success string HTTP/1.1 200 OK\nX-XSS-Protection: 1; mode=block\nAlternate-Protocol: 443:quic,p=1\nAlt-Svc: quic="www.google.com:443";
headers The Headers of the response. success dict {'Content-Type': 'application/json'}
content_type The "content-type" header used. always string application/json
raw_content_length The byte size of the response. success int 54447
status_description A summery of the status. success string OK
method The HTTP method used. always string GET


Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Support

This module is community maintained without core committer oversight.

For more information on what this means please read Module Support

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.