2016-09-09 96 views
-1

我正在編寫一個Ansible模塊以從URL上託管的文件檢索內容。 Ansible推薦使用什麼http客戶端庫來執行這些類型的操作?推薦Ansible http庫?

回答

2

Ansible隨附有get_urluri模塊。
是否有你需要你自己的模塊的原因?

ansible.module_utils.urls中有fetch_url函數。
你可以在你的模塊中使用它。簡單示例:

rsp, info = fetch_url(module, 'http://google.com') 

try: 
    content = rsp.read() 
except AttributeError: 
    # there was no content, but the error read() 
    # may have been stored in the info as 'body' 
    content = info.pop('body', '') 

您可以查看uri's code瞭解更多信息。

+0

我使用的是uri模塊,但對我的使用情況來說它變得有些複雜。這個功能正是我需要的,非常感謝。 – Zlemini

+0

我想要的是獲取NAT後面的主機公共IP地址。它已經作爲額外模塊在這裏實現:(https://docs.ansible.com/ansible/ipify_facts_module.html) – Zlemini