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