我见过简单的wsgi应用程序,它们在网页上显示Hello World
或PNG图像(但不是两者)。
第一页使用'Content-type', 'text/html; charset=utf-8'
,第二页使用'content-type', 'image/png'
。
如何编写一个简单的应用程序(使用说wsgiref.simple_server.make_server
)在SAME网页上发送text/html
和image/png
?
答案 0 :(得分:0)
基本上,如果我理解正确,你就不能。您的HTML代码需要在其中包含<img src="path/url/to/image.png">
,并且该路径需要作为静态图像提供,或者是对同一WSGI服务器的第二个请求,它将为您提供正确的{ 1}}。
所以,让我详细说明。
说,您有http://server.com/mypage的请求路径,该路径会返回一个Content-type
设置为Content-type
的HTML,并且您将拥有该HTML:
text/html
然后,在您的WSGI应用程序中,您实现了两个路径:
<img src="http://server.com/myimage">
为您提供HTML回复/mypage
可以为您提供PNG图像答案 1 :(得分:0)
from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
def simple_app(environ, start_response):
setup_testing_defaults(environ)
path = str( environ['PATH_INFO']
headers = [('Server', 'Apache'),('Content-type', 'text/html')]
rsp = 'oops'
if '.html' in path:
rsp = some_html
if '.png' in path:
headers = [('Server', 'Apache'),('Content-type', 'image/png')]
rsp = some_png
start_response(status, headers)
return rsp
httpd = make_server('', 8008, simple_app)
print "Serving on port 8000..."
httpd.serve_forever()