Я пытаюсь создать простой веб-сервер с использованием python. Однако у меня возникают проблемы с обслуживанием аудиофайла m4a.
В текущей программе, когда я загружаю http://localhost:8880/mp3.html, все работает отлично. Он показывает аудиоплеер и играет mp3. Кроме того, программа печатает как «/mp3.html», так и «/test.mp3».
Однако, когда я загружаю http://localhost:8880/m4a.html, это не работает . Он показывает аудиоплеер, но m4a не играет. Кроме того, программа печатает только «/m4a.html», а не «/test.m4a».
Мой текущий код ниже.
import urlparse
import os
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.web.static import File
import time
import subprocess
import mimetypes
class playM4A(Resource):
isLeaf = True
def render_GET(self, request):
this=urlparse.urlparse(request.path)#scheme,netloc,path,query
root,ext=os.path.splitext(this.path)
filename=os.path.basename(request.path)
fileFolder=request.path.replace(filename,"")
self.serverRoot=os.getcwd()
print request.path
if ext==".m4a":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif ext==".mp3":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif filename=="m4a.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.m4a" type="audio/mp4a-latm">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
elif filename=="mp3.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.mp3" type="audio/mp3">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
resource = playM4A()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
Content-Type:
неверен. Можете ли вы с помощью запросов wget, curl, Python или любого другого удобного инструмента определить тип контента, возвращаемый M4A GET и MP3 GET? - person Robᵩ   schedule 17.03.2016Content-Type:
в заголовках response? - person Robᵩ   schedule 17.03.2016Content-Type:
заголовков({'дата': ['четверг, 17 марта 2016 16:46:19 по Гринвичу'], 'сервер': ['TwistedWeb/15.4.0']}) Если я добавлюrequest.setHeader("Content-Type","audio/mp4a-latm")
, все равно не работает. - person user1763510   schedule 17.03.2016