do_html_header函数使用,简单的Python网络服务器的do_GET()方法中的html

我对Python相对来说比较陌生,但最近它一直在做很多不同的事情,我喜欢它。不过,我用下面的代码遇到了麻烦/阻塞。简单的Python网络服务器的do_GET()方法中的html

import http.server

import socketserver

import glob

import random

class Server(http.server.SimpleHTTPRequestHandler):

def do_GET(self):

self.send_response(200, 'OK')

self.send_header('Content-type', 'html')

self.end_headers()

self.wfile.write(bytes("

Hello World ", 'UTF-8'))

images = glob.glob('*.jpg')

rand = random.randint(0,len(images)-1)

imagestring = "%5C%22%22 "

self.wfile.write(bytes(imagestring, 'UTF-8'))

def serve_forever(port):

socketserver.TCPServer(('', port), Server).serve_forever()

if __name__ == "__main__":

Server.serve_forever(8000)

我在这里要做的是从目录中的多个图像中抓取一个随机图像,并将其添加到Web请求的响应中。 代码工作正常,但当我通过浏览器访问服务器时,图像不显示。该页面的html正如预期的那样。这些文件的权限是755.另外我试图在do_GET方法中创建一个index.html文件。那也行不通。我的意思是index.html生成的很好,但是这次浏览器中的响应没有显示任何内容(甚至没有标题中的hello world)。

我在这里想念什么很简单吗?我在想,是否应该重载底层SocketServer.BaseServer的handle_request,因为文档说你不应该重写BaseHTTPServer的handle()方法,而应该重写相应的do_ *方法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值