# URI Module in Ansible

**URL:** <https://forum.ansible.com/t/uri-module-in-ansible/21170>\
**Category:** Ansible Project\
**Created:** [April 15, 2016, 10:46am UTC](https://forum.ansible.com/t/uri-module-in-ansible/21170 "2016-04-15T10:46:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_McCormack](https://avatars.discourse-cdn.com/v4/letter/j/8e8cbc/32.png) [@John\_McCormack](https://forum.ansible.com/u/John_McCormack)\
**Post date:** [April 15, 2016, 10:46am UTC](https://forum.ansible.com/t/uri-module-in-ansible/21170/1 "2016-04-15T10:46:56Z")

</div>

Hi all

Looking for help in using Tokens for my Cloud provider

Curl works fine:

`curl -i -X POST https://api.madrid.gigas.com/token -d 'login=apiuser&password=apipswd' -H 'Accept: application/json'`

``

`curl -i -X GET https://api.miami.gigas.com/virtual_machines -H "Authorization: Gigas token=apitoken" -H 'Accept: application/json'`

- uri:  
url: [https://api.miami.gigas.com/token](https://api.miami.gigas.com/token)  
method: POST  
body: “login=apiuser&password=apipassword”  
HEADER\_Content-Type: “application/x-www-form-urlencoded”  
status\_code: 200  
return\_content: yes  
register: login

- uri:  
url: [https://api.miami.gigas.com/virtual\_machines](https://api.miami.gigas.com/virtual_machines)  
method: GET  
return\_content: yes  
HEADER\_cookie: “{{login.set\_cookie}}”

TASK: [uri] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [owncloud] =\> {“access\_control\_allow\_origin”: “\*”, “access\_control\_expose\_headers”: “Location, Authorization, X-Total, X-Total-Pages, X-Page, X-Per-Page”, “changed”: false, “content”: “{"token": "gig:3f60064553927bf04e7f4374656fd02cd03e2c11243ef925", "expires": "1460718309"}”, “content\_length”: “90”, “content\_type”: “application/json; charset=UTF-8”, “date”: “Fri, 15 Apr 2016 10:35:09 GMT”, “json”: {“expires”: “1460718309”, “token”: “gig:3f60064553927bf04e7f4374656fd02cd03e2c11243ef925”}, “redirected”: false, “server”: “TornadoServer/3.0.1”, “set\_cookie”: “SERVERID=mia2; path=/”, “status”: 200}

TASK: [uri] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
failed: [owncloud] =\> {“access\_control\_allow\_origin”: “\*”, “access\_control\_expose\_headers”: “Location, Authorization, X-Total, X-Total-Pages, X-Page, X-Per-Page”, “content”: “{"error": "Unauthorized: Please provide an authentication token"}”, “content\_length”: “65”, “content\_type”: “application/json; charset=UTF-8”, “date”: “Fri, 15 Apr 2016 10:35:10 GMT”, “failed”: true, “json”: {“error”: “Unauthorized: Please provide an authentication token”}, “redirected”: false, “server”: “TornadoServer/3.0.1”, “status”: 401}  
msg: Status code was not 200

FATAL: all hosts have already failed – aborting

Anyone any ideas
