python怎么连接web服务器_将web服务器连接到浏览器(Python)

博主在尝试使用Python2.7编写一个基于socket和线程的Web服务器,目标是监听127.0.0.1:8888,但遇到了浏览器无法连接的问题。代码中定义了一个Handler类,继承自BaseHTTPServer.BaseHTTPRequestHandler,并实现了GET和PUT请求的处理。同时,使用了多线程创建了多个服务器实例。然而,运行时出现了127.0.0.1拒绝从浏览器连接的错误,Python本身没有显示错误信息。

我尝试使用socket和线程(用于多线程)来制作web服务器。我试图用127.0.0.1:8888连接此服务器,但失败了。

因为我是python的初学者,所以很难发现错误。请帮我纠正这些错误。

这是密码。在

(+我正在使用Python2.7,我得到的错误是127.0.0.1拒绝从浏览器连接,在python上没有错误消息。)import BaseHTTPServer

import socket

import threading

import time

#making method

class Handler(BaseHTTPServer.BaseHTTPRequestHandler):

def _set_headers(self):

#error handling

if self.protocol_version != 'HTTP/1.1':

self.send_error(400)

return

elif self.path !='/':

self.send_error(404)

return

else:

self.send_respose(200)

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

self.send_header('Content-length', 1024)

self.end_headers()

def do_GET(self):

self._set_headers()

self.wfile.write('Hello World')

return

def do_PUT(self):

content_length=int(self.headers['Content-Length'])

put_data=self.rfile.read(content_length)

self._set_headers()

self.wfile.write('Hello World')

return

#making one socket

sock=socket.socket (socket.AF_INET, socket.SOCK_STREAM)

sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

sock.bind(('',8888))

sock.listen(5)

#multi threading

class Thread(threading.Thread):

def __init__(self, i):

threading.Thread.__init__(self)

self.i=i

self.start()

def run(self):

server = BaseHTTPServer.HTTPServer(('',8888), Handler)

server.socket=sock

server.server_bind=self.server_close= lambda self: None

server.serve_forever()

if __name__=='__main__':

print('Started WebServer on port 8888')

[Thread(i) for i in range(100)]

time.sleep(100)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值