¿Cómo obtener de forma segura la extensión del archivo desde una URL?
Considere las siguientes URL
http://m3u.com/tunein.m3u http://asxsomeurl.com/listen.asx:8024 http://www.plssomeotherurl.com/station.pls?id=111 http://22.198.133.16:8024
¿Cuál es la forma correcta de determinar las extensiones de archivo (.m3u / .asx / .pls)? Obviamente, el último no tiene una extensión de archivo.
EDITAR: Olvidé mencionar que m3u / asx / pls son listas de reproducción (archivos de texto) para secuencias de audio y deben analizarse de manera diferente. El objetivo determina la extensión y luego envía la url a la función de análisis adecuada. P.ej.
url = argv[1]
ext = GetExtension(url)
if ext == "pls":
realurl = ParsePLS(url)
elif ext == "asx":
realurl = ParseASX(url)
(etc.)
else:
realurl = url
Play(realurl)
GetExtension () debería devolver la extensión del archivo (si corresponde), preferiblemente sin conectarse a la URL.