gpt4 book ai didi

Ansible get_url 无法下载受基本身份验证保护的

转载 作者:行者123 更新时间:2023-12-04 15:56:16 27 4
gpt4 key购买 nike

我正在尝试使用 HTTP 从具有 get_url 模块的远程服务器下载 protected 文件,但用户名密码似乎没有在请求中传递,因此任务失败。

我正在使用 Ansible 1.9.2

这是我正在使用的 get_url 定义:

- name: Downloading Artifact
get_url:
url: "http://myserver/somefile.tar.gz"
dest: "/home/jdoe/somefile.tar.gz"
url_username: "jdoe"
url_password: "mysecret"
mode: 0600

这是我得到的错误:
failed: [myserver] => {"dest": "/home/jdoe/somefile.tar.gz", "failed": true,
"response": "HTTP Error 403: Forbidden", "state": "absent",
"status_code": 403, "url": "http://myserver/somefile.tar.gz"}
msg: Request failed
FATAL: all hosts have already failed -- aborting

现在,我尝试使用 cURL 下载文件并且它可以工作。

感谢任何帮助,因为我已经为此苦苦挣扎了 2 天。

最佳答案

您可以使用 uri模块:

---                                             

- hosts: hostname

tasks:

- name: "download file"
uri:
url: "http://somedomain.com/file.json"
method: GET
user: "{{ somedomain.user }}"
password: "{{ somedomain.password }}"
force_basic_auth: yes
dest: /tmp/somedomain.file.json
return_content: yes

如果这不起作用,可能与 httplib2 库版本有关。

关于Ansible get_url 无法下载受基本身份验证保护的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com