我正在尝试寻找与以下方法的剧本代码等效的 HTTP 方法:LIST。如果它是自定义方法,我如何通过 python 使用它。
- name: list all folders
ansible.builtin.uri:
url: https://{{ My_vault_url }}
method: LIST
return_content: true
body_format: json
register: list_url
如果我尝试像 requests.list 那样,我会得到一个错误,即列表不是请求方法。
当然可以使用 Ansible 与 Web 端点交互,但是没有 HTTP 方法
LIST
。只能使用 GET
来获取包含所有文件夹链接的页面内容。
---
- hosts: localhost
become: false
gather_facts: false
vars:
URL: download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/
tasks:
- name: List all folders
ansible.builtin.uri:
url: https://{{ URL }}
method: GET
return_content: true
body_format: raw
register: response
- name: Show Content
debug:
var: response.content
将产生
的输出TASK [Show Content] ***********************************************************************
ok: [localhost] =>
response.content: |-
<html>
<head><title>Index of /pub/rocky/9/BaseOS/x86_64/os/Packages/</title></head>
<body>
<h1>Index of /pub/rocky/9/BaseOS/x86_64/os/Packages/</h1><hr><pre><a href="../">../</a>
<a href="a/">a/</a> 11-Nov-2023 23:54 -
<a href="b/">b/</a> 05-Apr-2024 06:41 -
<a href="c/">c/</a> 06-Mar-2024 21:12 -
<a href="d/">d/</a> 11-Nov-2023 23:54 -
<a href="e/">e/</a> 26-Mar-2024 20:17 -
<a href="f/">f/</a> 05-Apr-2024 06:41 -
<a href="g/">g/</a> 05-Apr-2024 06:41 -
<a href="h/">h/</a> 11-Nov-2023 23:54 -
<a href="i/">i/</a> 06-Mar-2024 21:12 -
<a href="j/">j/</a> 12-May-2023 04:58 -
<a href="k/">k/</a> 05-Apr-2024 06:41 -
<a href="l/">l/</a> 08-Apr-2024 21:46 -
<a href="m/">m/</a> 15-Nov-2023 23:47 -
<a href="n/">n/</a> 07-Mar-2024 22:24 -
<a href="o/">o/</a> 08-Mar-2024 00:58 -
<a href="p/">p/</a> 05-Apr-2024 06:41 -
<a href="q/">q/</a> 12-May-2023 04:58 -
<a href="r/">r/</a> 04-Apr-2024 02:27 -
<a href="s/">s/</a> 12-Apr-2024 02:40 -
<a href="t/">t/</a> 09-Feb-2024 01:21 -
<a href="u/">u/</a> 11-Nov-2023 23:54 -
<a href="v/">v/</a> 11-Nov-2023 23:54 -
<a href="w/">w/</a> 11-Nov-2023 23:54 -
<a href="x/">x/</a> 13-Dec-2023 04:16 -
<a href="y/">y/</a> 11-Nov-2023 23:54 -
<a href="z/">z/</a> 11-Nov-2023 23:54 -
</pre><hr></body>
</html>
这需要事后解析。