gpt4 book ai didi

python - 需要一个类似字节的对象而不是 'str'

转载 作者:太空狗 更新时间:2023-10-30 02:02:21 25 4
gpt4 key购买 nike

我正在尝试为 Flask 创建一个本地 HTTP 服务器。

服务器成功启动,但当我尝试在网络浏览器中运行 localhost:5000 时出现此错误


class webserverhandler(BaseHTTPRequestHandler):

def do_GET(self):
try:
if self.path.endswith("/"):
self.send_response(200)
self.send_header('Content-Type','text/html')
self.end_headers()

output=""
output+="<html><body>Hello</body></html>"

self.wfile.write(output)
print (output)
return

except IOError:
self.send_error(404,"File Not Found %s" % self.path)


def main():
try:
port=5000
server=HTTPServer(('',port),webserverhandler)
print ("webserver running on %s" % port)
server.serve_forever()


except KeyboardInterrupt:
server.socket.close()

--------------------------------错误------------ ------------------------------

webserver running on 5000
127.0.0.1 - - [11/Feb/2017 17:59:36] "GET / HTTP/1.1" 200 -
Exception happened during processing of request from ('127.0.0.1', 54027)
Traceback (most recent call last):
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 317, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 348, in process_request
self.finish_request(request, client_address)
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 361, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 696, in __init__
self.handle()
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\http\server.py", line 418, in handle
self.handle_one_request()
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\http\server.py", line 406, in handle_one_request
method()
File "webserver.py", line 14, in do_GET
self.wfile.write(output)
File "C:\Users\Jordan\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 775, in write
self._sock.sendall(b)
TypeError: a bytes-like object is required, not 'str'

谁能帮帮我?

最佳答案

您可以像这样将您的output 变量编码为bytes_object:

self.wfile.write(output.encode())

关于python - 需要一个类似字节的对象而不是 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42176058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com