2017-04-12 95 views
0

我是一个网络工程师,已成为一个安全的网络自动化平台的意外管理员,我正在苦苦挣扎与我有限的知识添加API密钥休息API获取请求。Ansible添加一个休息API密钥获取请求

我一直在考虑要使用的密钥,例如假的API密钥:1234567890和我试着将它添加到我的API的报头get调用按如下 -

- name: RETRIEVE SOMETHING 
    uri: 
    url: "https://host.name-api.com/service123/request?foo_bar={{ foobar}}" 
    method: GET 
    return_content: yes 
    body_format: json 
    headers: 
     Content-Type: "fake-api-key/1234567890" 
    register: foo 
    when: bar 

我我得到了“错误401:拒绝访问”。但是,当我使用邮递员测试它时,它看起来在YAML文件中格式不正确。我已经尝试了一些变化。这可能很简单。

任何人都知道ansible请帮助确定我做错了什么?

谢谢

+0

我猜你发送错误的标题。它真的是“Content-Type”吗?也许'API-Token'什么的? –

+0

或者试试看:'HEADER_Authorization:'假-API-KEY/1234567890'。 – Zlemini

+0

嗨,不幸的是,这也没有奏效 –

回答

0

对不起,我在回答延迟相当。所以正如一些人指出的,正确的答案是下面的语法

- name: RETRIEVE THIS CHANGE DETAIL 
    uri: 
    url: "https://some-url/service123/request?variable={{var}}}" 
    method: GET 
    return_content: yes 
    body_format: json 
    headers: 
     fake-api-key: "1234567890" 
0

如果它在邮递员工作,请检查邮递员你传递的标题。您可以单击邮递员请求生成器中的“代码”链接查看所有邮件头。一些在Headers选项卡中不可见(例如,缓存控制)。将所有这些标题添加到您的请求中。

+0

嗨在那里,我刚刚意识到这一点(Totalbyby postman)。看看代码是如何添加的,而且我还可以从调试中看到,当我运行一个可靠的剧本时,代码可以解释YAML文件,因此我发现了这种差异,我相信这可能会得到解决,但是如果运气好的话它是我的目标服务器已关闭,所以将不得不等待,直到我可以测试以确认修复。我会在这里发布时,我已经这样做。谢谢 –

+0

我的荣幸:)请让我知道如果需要任何进一步的帮助。另外,如果一切工作正常,则将其标记为已回答。 –

0

试试这个

headers: 
    fake-api-key: 1234567890 

这是curl

curl -X GET 'https://your_url' -H "fake-api-key:1234567890"