GVKun编程网logo

flask run app.py 给出 OSError: [WinError 10013] 尝试以访问权限禁止的方式访问套接字

18

最近很多小伙伴都在问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] 尝试以访问权限禁止的方式访问套接字

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()可以访问错误详细信息吗?

asp.net-core – app.UseErrorHandler()可以访问错误详细信息吗?

在我的MVC4应用程序中,我有一个global.asax.cs覆盖Application_Error(对象发送者,EventArgs e),我可以在其中提取异常,statusCode和requestedUrl(用于处理404).这将被发送到我的控制器,错误页面将是不同的404s与5xx(这些获得堆​​栈跟踪).我没有看到如何使用UseErrorHandler()将相同的信息添加到我的错误操作中.我在ASP.NET Core中使用正确的方法吗?

解决方法

2016年8月2日 – 1.0.0的更新

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] 以一种访问权限不允许的方式做了一个访问套接字的尝试

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] 以一种访问权限不允许的方式做了一个访问套接字的尝试

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''

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''的相关信息,可以在本站进行搜索。

本文标签: