Небольшое изменение вашей книги воспроизведения на
---
- hosts: localhost
connection: local
gather_facts: False
tasks:
- name: Download using URI
uri:
url: "http://www/myurl/myfile.JAR"
dest: ./uri.jar
ignore_errors: yes
- name: Download using GET_URL
get_url:
url: "http://www/myurl/myfile.JAR"
dest: ./get_url.jar
ignore_errors: yes
приводит к следующему:
uri
загружает файл, то есть содержимое сообщения об ошибке html webserver. get_url
не загружает ничего, что не существует
Почему?
get_url
специально для загрузки содержимого данного URL. Если код состояния http не равен 200, то ничего не загружается, это означает, что если файл не существует на удаленном веб-сервере, задача только сбой.
uri
, с другой стороны, для взаимодействия с веб-сервисами, такими как REST или SOAP или что нибудь еще. Например, при сбое повторного запроса с кодом состояния http 400
в теле ответа может быть передана дополнительная информация. Примеры см. https://praveer09.github.io/technology/2016/07/07/rest-error-responses-in-spring-boot/ И именно это содержимое загружается с помощью задачи uri
. Сохраненный результат затем может быть обработан другими задачами.