无法通过端口443运行程序

2024-05-14 14:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个基于Python的程序。当我通过端口80在Wintel服务器上运行程序时,我没有任何问题。程序名-TelegramBot-ASN.py

  1. 端口80 在http://<IP Address>:80/上运行(按CTRL+C退出)

  2. 但是,通过端口443遇到以下问题

Traceback (most recent call last):
  File "TelegramBot-ASN.py", line 49, in <module>
    app.run(host=strHost, port=strPort, debug=True)
  File "C:\RPA\Applications\Python\lib\site-packages\flask\app.py", line 990, in run
    run_simple(host, port, self, **options)
  File "C:\RPA\Applications\Python\lib\site-packages\werkzeug\serving.py", line 987, in run_simple
    s.bind(server_address)
  socket.gaierror: [Errno 11001] getaddrinfo failed

Tags: 端口runinpy程序apphostport
2条回答

getaddrinfo failed表示无法解析主机名。确保使用的主机名正确无误。还要检查端口443上是否没有其他进程侦听

检查端口443上正在侦听的程序

netstat -ano -p tcp |find "443"

该命令将返回与此类似的输出

TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       15096

要了解哪个程序具有该pid,请使用该命令(显然,使用将上一个命令返回给您的pid):

tasklist |find "15096"

稍微研究一下错误之后,可以看到错误是在尝试绑定套接字时抛出的。 通常,绑定中的一个常见错误是要使用的端口已被使用。 但是这里有一个失败的错误。 如果在app.run方法中没有为主机参数提供IP,请提供IP。(internetwork IP)。 不要提供像localhost这样的域名

示例:app.run(host=“192.168.1.102”

还要查明443是否由另一个进程执行。 您还可以通过在powershell中键入以下命令来找到它

Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess

相关问题 更多 >

    热门问题