Я не смог воспроизвести это простым вызовом wget
. Я использую свой gravatar в качестве URL-адреса с аргументами. Вот пример звонка.
TASK: [shell wget -O /dev/null https://www.gravatar.com/avatar/cad260683598a6e41608b91a9b57099b?s=24] ***
И вот вывод отладки:
<hostname> REMOTE_MODULE command wget -O /dev/null https://www.gravatar.com/avatar/cad260683598a6e41608b91a9b57099b?s=24 #USE_SHELL
... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 1089 (1.1K) [image/jpeg]\nSaving to: `/dev/null'\n\n 0K . 100% 1.93M=0.001s\n\n2014-10-31 16:52:00 (1.93 MB/s) - `/dev/null' saved [1089/1089]", "stdout": ""}
Вообще говоря, использование command
, shell
и lineinfile
— это форма запаха кода. В данном случае это означает использование модуля get_url
или модуль uri
. wget
обычно подразумевает get_url
, но вы отбрасываете вывод, поэтому используете его как curl
, что означает, что модуль uri
лучше.
Вот мой сборник игр. Мне нужно было добавить pip
, так как httplib не был установлен на моем тестовом хосте.
tasks:
- debug: var=hostvars
- pip: name=httplib2
sudo: yes
- uri: url=https://www.gravatar.com/avatar/cad260683598a6e41608b91a9b57099b?s=24
Вы можете видеть в подробном выводе, что он делает правильный вызов.
ok: [hostname] => {"accept_ranges": "bytes", "access_control_allow_origin": "*", "cache_control": "max-age=300", "changed": false, "content_disposition": "inline; filename=\"cad260683598a6e41608b91a9b57099b.jpeg\"", "content_length": "1089", "content_location": "https://www.gravatar.com/avatar/cad260683598a6e41608b91a9b57099b?s=24", "content_type": "image/jpeg", "date": "Fri, 31 Oct 2014 16:58:42 GMT", "expires": "Fri, 31 Oct 2014 17:03:42 GMT", "last_modified": "Fri, 04 Nov 2011 16:27:09 GMT", "link": "<https://www.gravatar.com/avatar/cad260683598a6e41608b91a9b57099b?s=24>; rel=\"canonical\"", "redirected": false, "server": "ECS (ams/49F2)", "source_age": "81", "status": 200, "via": "1.1 varnish", "x_cache": "HIT", "x_varnish": "3775458975 3775177699"}
person
tedder42
schedule
31.10.2014