最近很多小伙伴都在问flaskrunapp.py给出OSError:[WinError10013]尝试以访问权限禁止的方式访问套接字这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展
最近很多小伙伴都在问flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展asp.net-core – app.UseErrorHandler()可以访问错误详细信息吗?、Django OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试、Django启动时报错Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试、ERROR 1010 (HY000): Error dropping database (can''等相关知识,下面开始了哦!
本文目录一览:- flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字
- asp.net-core – app.UseErrorHandler()可以访问错误详细信息吗?
- Django OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
- Django启动时报错Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
- ERROR 1010 (HY000): Error dropping database (can''
flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字
如何解决flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字?
下面提到的代码 - 在使用 cmd 在 vs 代码中执行时 - python -m flask run/fask run。我收到错误消息 - OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字
尝试更改端口并执行它仍然没有运气。如果有人知道情况请求帮助
# import main Flask class and request object
from werkzeug.wrappers import Request,Response
from flask import Flask,request
app = Flask(name)
@app.route("/")
def display():
return "Hello World!"
if name == ''main'':
from werkzeug.serving import run_simple
run_simple(''localhost'',9998,app)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
asp.net-core – app.UseErrorHandler()可以访问错误详细信息吗?
解决方法
Startup.cs
using Microsoft.AspNet.Builder; namespace NS { public class Startup { ... public virtual void Configure(IApplicationBuilder app) { ... app.UseExceptionHandler("/Home/Error"); ... } } }
HomeController.cs
using Microsoft.AspNet.Diagnostics; using Microsoft.AspNet.Http.Features; using Microsoft.AspNet.Mvc; using Microsoft.Extensions.Logging; namespace NS.Controllers { public class HomeController : Controller { static ILogger _logger; public HomeController(ILoggerFactory factory) { if (_logger == null) _logger = factory.Create("Unhandled Error"); } public IActionResult Error() { var feature = HttpContext.Features.Get<IExceptionHandlerFeature>(); var error = feature?.Error; _logger.LogError("Oops!",error); return View("~/Views/Shared/Error.cshtml",error); } } }
project.json
... "dependencies": { "Microsoft.AspNet.Diagnostics": "1.0.0",... } ...
Django OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
代码错误提示:
OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
报错代码位置:
foo/main.py 28行
s = socketserver.ThreadingTcpserver((config.ip,config.port),MyServer)
代码架构:
conf
--config.py
data
--data.db
foo
-- main.py
--server.py
--models.py
manage.py
conf/config.py代码示例:
ip = "127.0.0.1"
port = 8000
manage.py代码示例:
from foo import main
if __name__ == '__main__':
main.ArgvHandler()
foo/main.py代码示例:
import optparse
import socketserver
from .server import MyServer
from conf import config
class ArgvHandler():
def __init__(self):
self.op = optparse.OptionParser()
options,args = self.op.parse_args()
self.verify_args(options,args)
# 程序启动命令检查
def verify_args(self,options,args):
if len(args) > 0:
cmd = args[0]
if hasattr(self,cmd):
func = getattr(self,cmd)
func()
else:
args.insert(0,'start')
return self.verify_args(options,args)
# 启动socket
def start(self):
print('服务端正在工作')
s = socketserver.ThreadingTcpserver((config.ip,MyServer)
s.serve_forever()
foo/main.py代码示例:
import socketserver
import json
from conf import config
from foo.models import DbSession,User
session = DbSession()
STATUS_CODE = {
250: "Invalid cmd format,e.g: {'action':'get','filename':'test.py','size':344}",
251: "Invalid cmd ",
252: "Invalid auth data",
253: "Wrong username or password",
254: "Passed authentication",
255: "Filename doesn't provided",
256: "File doesn't exist on server",
257: "ready to send file",
258: "md5 verification",
800: "the file exist,but not enough,is continue? ",
801: "the file exist !",
802: " ready to receive datas",
900: "md5 valdate success"
}
class MyServer(socketserver.BaseRequestHandler):
def handle(self):
while True:
data = self.request.recv(1024).strip()
data = json.loads(data.decode('utf-8'))
if data.get('action'):
if hasattr(self,data.get('achtion')):
func = getattr(self,data.get('action'))
func(data)
else:
print('无效命令')
else:
print('无效命令')
# 获取用户账号信息
def auth(self,**data):
username = data['username']
password = data['password']
user = self.authentication(username,password)
if user:
self.send_response(254)
else:
self.send_response(253)
# 从数据库提取账号密码
def authentication(self,username,password):
user = session.session.query(User).filter_by(username=username).first()
if user and user.verify_password(password):
self.user = username
return True
def send_response(self,status_code):
res = json.dumps({"status_code": status_code}).encode('utf-8')
self.request.sendall(res)
def put(self,**data):
pass
foo/models.py代码示例:
from sqlalchemy import create_engine
from sqlalchemy import Column,Integer,String,Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import os
from werkzeug.security import generate_password_hash,check_password_hash
basedir = os.path.dirname(os.path.dirname(__file__))
data_f = os.path.join(basedir,'data/data.db')
# 绑定引擎
engine = create_engine('sqlite:///{}'.format(data_f))
# 建立基类
Base = declarative_base()
# 定义User对象
class User(Base):
__tablename__ = 'users'
id = Column(Integer,primary_key=True)
username = Column(String)
password_hash = Column(String)
space = Column(Integer)
has_space = Column(Float,default=0)
@property
def password(self):
raise AttributeError('密码不具有可读性')
@password.setter
def password(self,password):
self.password_hash = generate_password_hash(password)
def verify_password(self,password):
return check_password_hash(self.password_hash,password)
class DbSession:
Session = sessionmaker(bind=engine)
session = Session()
if not os.path.isfile(data_f):
# 创建数据库,如果存在自动替换
Base.Metadata.create_all(engine)
解决结果:
第一种解决方法:
删除原来配置文件,重写配置文件,可能是配置文件出错。
Django启动时报错Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
1、系统环境配置
window 10 + python 3.6 + django 1.11.20
2、报错原因
原因:可以肯定是端口被占用了,但是我只开了一个django,那究竟是哪款软的骚操作占用我的8000端口?
3、原因查询
1. 快捷键:win+R, 输入cmd, 打开cmd窗口,
2. 输入命令:netstat -ano | findstr 8000, 找到PID
3. 输入命令:tasklist | findstr 10780 找到你了,
4. 这肯定不是系统的执行文件,KG.... 酷狗?酷狗你占用8000端口django知道吗?你这对python程序员一点都不友好
4、最后
最后,,,你们以为我会怂,改django端口,呵呵,“为了部落”,不对,“为了代码”,我果断把酷狗关了,
世界顿时安静了好多。。。。
听歌敲代码这种装X的事果然不能做啊。。。。
ERROR 1010 (HY000): Error dropping database (can''
将数据 data 目录中的需要删除的数据库手动删除。就 OK 了
我们今天的关于flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字的分享就到这里,谢谢您的阅读,如果想了解更多关于asp.net-core – app.UseErrorHandler()可以访问错误详细信息吗?、Django OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试、Django启动时报错Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试、ERROR 1010 (HY000): Error dropping database (can''的相关信息,可以在本站进行搜索。
本文标签: