OSError: [WinError 10013] 试图以访问权限禁止的方式访问套接字
Posted
技术标签:
【中文标题】OSError: [WinError 10013] 试图以访问权限禁止的方式访问套接字【英文标题】:OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions 【发布时间】:2018-08-06 14:23:35 【问题描述】:我正在尝试将 Huey 用作跨平台任务队列。我找到了 https://github.com/pjcunningham/flask-huey-example ,我已经克隆并设置了一个用于使用 conda 的 virtualenv(我正在使用 Windows)。我已经按照更新的自述文件进行了操作,并设法让所有三个窗口都正常运行。但是当我打开 http://localhost:6060/
[![在此处输入图片描述][2]][2]
我点击发送按钮,这会破坏 Huey_consumer 进程:
$ python ...envs/hueytest1/Scripts/huey_consumer.exe run_huey.huey
[2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Huey consumer started with 1 thread, PID 1704
[2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Scheduler runs every 1 seconds.
[2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Periodic tasks are enabled.
[2018-08-06 10:19:25,950] INFO:huey.consumer:MainThread:UTC is enabled.
[2018-08-06 10:19:25,950] INFO:huey.consumer:MainThread:The following commands are available:
+ send_async_email
+ dummy_task
[2018-08-06 10:19:39,743] INFO:huey.consumer.Worker:Worker-1:Executing queuecmd_send_async_email: ba5e092d-b1de-41cd-8b27-72d11c2b13d8
[2018-08-06 10:19:40,766] ERROR:huey.consumer.Worker:Worker-1:Unhandled exception in worker thread
Traceback (most recent call last):
File "...\envs\hueytest1\lib\site-packages\huey\consumer.py", line 153, in process_task
self.huey.execute(task)
File "...\envs\hueytest1\lib\site-packages\huey\api.py", line 271, in execute
result = task.execute()
File "...\envs\hueytest1\lib\site-packages\huey\api.py", line 565, in execute
return func(*args, **kwargs)
File "E:\ENVS\r3\hueytest1\app\tasks.py", line 23, in send_async_email
mail.send(msg)
File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 491, in send
with self.connect() as connection:
File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 144, in __enter__
self.host = self.configure_host()
File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 158, in configure_host
host = smtplib.SMTP(self.mail.server, self.mail.port)
File "...\envs\hueytest1\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "...\envs\hueytest1\lib\smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "...\envs\hueytest1\lib\smtplib.py", line 307, in _get_socket
self.source_address)
File "...\envs\hueytest1\lib\socket.py", line 724, in create_connection
raise err
File "...\envs\hueytest1\lib\socket.py", line 713, in create_connection
sock.connect(sa)
OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
我怎样才能让它工作?
【问题讨论】:
Attempt was made to access a socket in a way forbidden by its access permissions的可能重复 我在使用 django 时遇到了同样的错误,并通过设置缺少的电子邮件配置 ***.com/questions/55416984/… 解决了这篇文章的问题 【参考方案1】:我在尝试启动 Visdom 服务器时遇到了完全相同的错误:
OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
原因是有另一个进程使用与 Visdom 想要使用的端口相同的端口,在我的例子中是端口 8097。
为了调试它,我按照以下步骤操作:
-
使用TcpView from Sysinternals 查找使用该端口的进程。
如果进程结果是 svchost.exe,那么您需要找到使用此端口的服务。为此,请运行以下命令:`tasklist /svc /FI "PID eq 1234" where replce 1234 from PID you see in TcpView.
打开 Windows 服务小程序并查找此服务器。在我的情况下,这被证明是“交付优化”或 DOSvc 服务,如果您在大型网络上,它基本上使用 Windows 更新位的 P2P 下载。我暂时关闭了该服务并能够再次打开端口。
【讨论】:
【参考方案2】:这是因为您的防火墙阻止了 SQL Server 的连接。
转到Control Panel -> Windows Defender Firewall -> Advance Setting -> Outbound
规则(Block network access R local
)将是红色-> right click -> Properties
然后allow all connection
和Save
【讨论】:
【参考方案3】:如果您在 localhost 中使用端口 80,请尝试使用不同的端口。
【讨论】:
【参考方案4】:netstat -ano | find ":80"
你会看到
然后TASKKILL /F /PID 4032
但这在 SYSTEM 使用端口时不起作用
Port 80 is being used by SYSTEM (PID 4), what is that?
或
NET stop HTTP
这在上述情况下有效
【讨论】:
以上是关于OSError: [WinError 10013] 试图以访问权限禁止的方式访问套接字的主要内容,如果未能解决你的问题,请参考以下文章
Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
OSError: [WinError 740] 请求的操作需要提升
启动django应用报错 “Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。”
“OSError: [WinError 1455]页面文件太小,无法完成操作。”解决方案