微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

curl 工作时,无法在 Windows 10 上通过 python 连接到本地主机服务器

如何解决curl 工作时,无法在 Windows 10 上通过 python 连接到本地主机服务器

我有一个简单的 python 服务器代码,它公开了一个版本端点。 通过 chrome、curl、python 通过请求访问它对我来说在 Windows 上工作正常。

当我的同事在她的机器上运行相同的代码时,服务器在她的本地 Windows 机器上运行正常,并且可以通过 chrome 和 curl 从 Windows 终端访问她的本地主机。但是,python 访问会给出 403 - Forbidden。

详情:

curl http://localhost:8888/api/v1.0/version

StatusCode        : 200

StatusDescription : OK

但是,在 Windows 终端上通过 python 访问它会得到 403 Forbidden。 例如:

>python3
>>>import requests

>>> requests.get('http://localhost:8888/api/v1.0/version')

<Response [403]>

谷歌搜索 Windows 防火墙规则以了解为什么 localhost 被禁止,我看到 Windows 有一个基于每个程序的防火墙规则概念。

运行:

netsh advfirewall firewall show rule name=all

显示windows终端有如下规则(这和我在我的机器上看到的完全一样):

Rule Name:                            Windows Terminal
----------------------------------------------------------------------
Enabled:                              Yes
Direction:                            Out
Profiles:                             Domain,Private,Public
Grouping:                             Windows Terminal
LocalIP:                              Any
RemoteIP:                             Any
Protocol:                             Any
Edge traversal:                       No
Action:                               Allow

在终端中调用 python 是否使用具有自己的防火墙规则集的不同程序? 我在防火墙表中找不到明确列出的 python。

为什么python访问本地主机显示禁止? 我对 Windows 不太熟悉 - 不确定是否涉及防火墙规则以外的其他内容?任何指点表示赞赏!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。