Ответ заголовка Icecast - и 400 и 200 - PullRequest
0 голосов
/ 20 декабря 2018

У меня Icecast 2.4.4 работает на Windows-сервере на sub.domain.org.Мой сайт находится на другом сервере в домене .org.

Когда я запускаю SSH в своей хост-системе Linux и запускаю curl до точки монтирования, я получаю ответ 400, но если я делаю wget, я получаю ответ 200. Как это может быть?

# wget https://sub.domain.org/live.mp3
--2018-12-19 17:52:58--  https://sub.domain.org/live.mp3 Resolving sub.domain.org... 111.111.111.111 Connecting to
sub.domain.org|111.111.111.111|:443... connected. HTTP request sent,
awaiting **response... 200 OK** Length: unspecified [audio/mpeg] Saving
to: `live.mp3'

    [                        <=>                 ] 96,600      3.93K/s              ^C

# curl --head  https://sub.domain.org/live.mp3
HTTP/1.0 **400 Bad Request**
Server: Icecast 2.4.4
Connection: Close Date: Thu, 20 Dec 2018
00:53:32 GMT Content-Type: text/html; charset=utf-8 Cache-Control:
no-cache, no-store Expires: Mon, 26 Jul 1997 05:00:00 GMT Pragma:
no-cache Access-Control-Allow-Origin: *

1 Ответ

0 голосов
/ 20 декабря 2018

Потому что в случае cURL вы передаете параметр --head.Это говорит cURL сделать запрос HTTP HEAD вместо запроса HTTP GET, который выполняет wget.

Icecast не поддерживает HTTP HEAD запросы и, следовательно, ответ HTTP 400полностью оправдано.

...