Testen Sie einen Server auf Unterstützung für den Bytebereich?

7

Podcasting mit iTunes erfordert Unterstützung für Bytebereichsanforderungen . Ich unterstütze jemanden, der Probleme hat, seinen Podcast von Apple zur Aufnahme in seinen iTunes Store zu akzeptieren, und es wurde vorgeschlagen, dass sein Webserver derzeit keine Anforderungen für den Bytebereich unterstützt.

Meine Frage lautet: Gibt es eine Möglichkeit, zu testen, ob der Webserver Bytebereichsanforderungen korrekt verarbeitet oder nicht? Ich habe keinen anderen Zugriff auf den Webserver als die normalen öffentlichen Anfragen. Wenn ich die URL zu einer MP3-Datei auf dem Webserver habe, kann ich dies mit einem Webbrowser oder einem anderen Tool testen, z. B. anhand von HTTP-Headern?

Ben Miller - Erinnere dich an Monica
quelle
Duplikat von: superuser.com/questions/451445/…
David Refoua

Antworten:

14

Dieser Befehl setzt Linux voraus - würde aber wahrscheinlich mit geringfügigen Änderungen unter Windows oder Mac funktionieren -. Curl ist weit verbreitet, wird jedoch möglicherweise nicht standardmäßig auf dem System Ihrer Wahl installiert. Die Beispieldatei, die ich bekomme, ist das Curl-Handbuch - eine praktische URL;)

curl --silent --range 20-40 https://curl.haxx.se/docs/manpage.html | wc -c

Dies gibt "21" zurück - ich habe nach den Bytes 20-40 gefragt und dann die Ausgaben an stdout gewellt, die ich an wc weitergebe, um die Zeichen zu zählen.

Wenn Sie eine Antwort erhalten, die viel größer ist, hat der Server die gesamte Datei gesendet (versuchen Sie "www.youtube.com" - das dient dem gesamten Index, unabhängig davon, welchen Bereich Sie fragen).

Sie suchen hier also nach der magischen 21, um zu sagen, dass "Bytebereich nicht das Problem ist".

Mac-Alternativen (obwohl Curl auf dem Mac für mich zu funktionieren scheint ... Ich habe möglicherweise eine spezielle Version installiert):

brew install wget
wget --header="Range: bytes=20-40" -t 1 http://www.youtube.com

Wenn dies bei einem 206 fehlschlägt, bedeutet dies, dass er eine Reichweite hat. Sie könnten den Header wahrscheinlich auch "manuell" mit Curl senden.

Tom Newton
quelle
Die von Apple gelieferte Version von curlbietet keine --rangeOption.
Flimm
Danke - scheint hier zu funktionieren, hat aber einige alternative Ideen aktualisiert
Tom Newton