Django:错误:[Errno 10053] 已建立的连接被主机中的软件中止

Posted

技术标签:

【中文标题】Django:错误:[Errno 10053] 已建立的连接被主机中的软件中止【英文标题】:Django : error: [Errno 10053] An established connection was aborted by the software in your host machine 【发布时间】:2015-06-25 21:49:26 【问题描述】:

我在执行 ajax 请求时出错。如果views.py 中没有验证行user = authenticate(username = user_username, password = user_password),则会调用成功函数。如果我添加,则会使用 Errno 10053 调用错误函数。

我在 Wamp 中使用 mysql。为什么会这样? 视图.py

class LoginVerify(View):
    print('login')

    def post(self,request,*args,**kwargs):
        if request.is_ajax():
            print("post called")
            user_email = request.POST.get('email',False)
            user_password = request.POST.get('pswd',False)
            print(user_email)
            try:
                user_username = User.objects.get(email=user_email).username
                user = authenticate(username = user_username, password = user_password)


            except:
                print("error occured")


        return HttpResponse("response form server")

    def get(self, request,*args,**kwargs):
        print("get method")
        return render(request,'feeds/feeds_home.html')

ajax 请求:

$(document).ready(function()
     $("#submit").on("click",function()
         var $email  = $("#signin-email").val();
         var $pswd = $("#signin-password").val();
         alert($pswd);

         $.ajax(
             url : '% url "feeds:login_view" %',
             type: "POST",

             data: csrfmiddlewaretoken :" csrf_token ", pswd : $pswd, email: $email,
             success: function(data)
                location.reload();
             ,
             error: function()
                 alert("fails");
             

         );
     );

回溯

post called
vivek.ananthan.m.s@gmail.com
[19/Apr/2015 11:10:22] "POST / HTTP/1.1" 200 12
Traceback (most recent call last):
  File "C:\Python27\lib\wsgiref\handlers.py", line 86, in run
    self.finish_response()
  File "C:\Python27\lib\wsgiref\handlers.py", line 127, in finish_response
    self.write(data)
  File "C:\Python27\lib\wsgiref\handlers.py", line 210, in write
    self.send_headers()
  File "C:\Python27\lib\wsgiref\handlers.py", line 268, in send_headers
    self.send_preamble()
  File "C:\Python27\lib\wsgiref\handlers.py", line 192, in send_preamble
    'Date: %s\r\n' % format_date_time(time.time())
  File "C:\Python27\lib\socket.py", line 324, in write
    self.flush()
  File "C:\Python27\lib\socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
Traceback (most recent call last):
  File "C:\Python27\lib\SocketServer.py", line 582, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Python27\lib\site-packages\django-1.7-py2.7.egg\django\core\servers\basehttp.py", line 129, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "C:\Python27\lib\SocketServer.py", line 640, in __init__
    self.finish()
  File "C:\Python27\lib\SocketServer.py", line 693, in finish
    self.wfile.flush()
  File "C:\Python27\lib\socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 52490)

请解释我在哪里犯了错误以及为什么会发生。

提前致谢!!

【问题讨论】:

这个错误基本上意味着你试图向不再请求它的请求者发送响应。可能会出现超时或其他网络中断情况。 @LearningNeverStops 我尝试重新启动 wamp。我怎样才能捕捉到这个异常? 这类错误不是为了捕捉而产生的,这个错误真的会导致服务器关闭吗?我不这么认为。可以同样确认吗?据我所知,唯一会发生的事情就是它会默默地忽略错误。它不会发生在您的用户名身份验证中,而是使用 Httpresponse 返回值。 【参考方案1】:

参考:https://***.com/a/17854758/3940406

来自 Windows 套接字错误代码列表:

WSAECONNABORTED 10053 软件导致连接中止。一个既定的 连接被主机中的软件中止,可能是 由于数据传输超时或协议错误。

出现超时或其他网络级错误。这是你的操作系统关闭套接字,真的与 Python、django 或 Flask 无关。

可能是远程浏览器停止响应,网络连接中断,或者防火墙因为打开时间过长而关闭了连接,或者其他原因。

【讨论】:

【参考方案2】:

当我试图研究有关使用 pymysql 作为 python sql 客户端运行 mysql 代码的问题时,我遇到了这个问题。我碰巧有同样的问题。重命名 mysql 的配置设置,然后重新启动系统或运行 mysql 服务器。努力解决这个问题

【讨论】:

以上是关于Django:错误:[Errno 10053] 已建立的连接被主机中的软件中止的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gmail API 发送大型附件时出现错误 10053

系统错误 10053您主机中的软件放弃了一个已建立的连接怎么解决

ConnectionAbortedError: [WinError 10053] 已建立的连接被主机中的软件中止

Django ConnectionAbortedError + TypeError + AttributeError

Django-import-export-celery 导入错误 [Errno 13] 权限被拒绝

在 django 上运行 api 时出现错误“[Errno 5] 输入/输出错误”