600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python 10053_获取错误:[Errno 10053]尝试在http响应中发送文件时出错

python 10053_获取错误:[Errno 10053]尝试在http响应中发送文件时出错

时间:2021-03-28 18:43:02

相关推荐

python 10053_获取错误:[Errno 10053]尝试在http响应中发送文件时出错

我试图通过在Python中写入BaseHTTPRequestHandler的wfile变量在http响应中发送一个大文件,当我尝试这样做时,我在Python代码中总是以以下异常结束。在

error: [Errno 10053] An established connection was aborted by the software in your machine

有谁能帮我解决这个问题吗??为什么会出错?

如果在HTTP响应中发送大文件的方式不好,请建议我在哪里可以参考。在

提前谢谢!!!在import os

import urlparse

import BaseHTTPServer

from SocketServer import ThreadingMixIn

import urlparse

class Handler(BaseHTTPServer.BaseHTTPRequestHandler):

def handle(self):

BaseHTTPServer.BaseHTTPRequestHandler.handle(self)

def sendError(self, errorCode, errorMessage):

self.send_response(errorCode, errorMessage)

self.send_header("Content-type", "text/plain")

self.send_header("Content-Length", str(len(errorMessage)))

self.end_headers()

self.wfile.write(errorMessage)

def do_GET(self):

scm, netloc, path, params, query, fragment = urlparse.urlparse(self.path, 'http')

if path.find(".ld") > 0:

filename = path.rpartition("/")[2]

try:

with open(filename, 'rb') as f:

self.send_response(200, "Ok")

self.send_header("Content-type","application/octet-stream")

total_size = os.path.getsize(filename)

self.send_header("Content-Length", total_size)

self.end_headers()

self.wfile.write(f.read())

except IOError:

self.sendError(404, "Not Found")

class ThreadedHTTPServer(ThreadingMixIn, BaseHTTPServer.HTTPServer):

def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True):

BaseHTTPServer.HTTPServer.__init__(self, server_address, RequestHandlerClass, bind_and_activate)

def main():

Handler.close_connection = 0

Handler.protocol_version = 'HTTP/1.1'

global httpd

httpd = ThreadedHTTPServer(("", 8900), Handler)

httpd.daemon_threads = True

httpd.serve_forever()

if __name__ == "__main__":

main()

错误跟踪:

^{pr2}$

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。