问题描述
我有一个简单的 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 (将#修改为@)