我创建了一个Web服务,并尝试在测试服务器上运行它(因为不需要任何类型的安全性),它适用于localhost,然后我尝试从路由器转发端口9000,并且该端口已成功转发,我从具有公共ip 的本地计算机向该Web服务发送了一个请求,该服务返回了正确的结果。
我的Flask应用运行命令:
app.run(host='0.0.0.0', port=9000)
来自本地PC 的请求:
C:\Users\taha\Downloads\Facial-Emotion-Detection-master\Facial-Emotion-Detection-master>curl -F "file=@images/Sample1.jpg" http://XXX.XXX.XX.XX:9000/Img_Emotion/
结果:
{"angry": 0, "disgusted": 0, "fearful": 0, "happy": 99.97, "sad": 0, "surprised": 0, "neutral": 0.03}
但是当我在某些外部PC 上尝试过时,它说
curl: (7) Failed to connect to XXX.XXX.XX.XX port 9000: Connection refused
此外,我已经关闭了路由器和窗口防火墙,但是仍然存在相同的问题
答案 0 :(得分:1)
在路由器设置中,尝试将计算机(运行服务器的计算机)放置在DMZ(非军事区)中。还要仔细检查您的防火墙(特别是Windows防火墙)。
答案 1 :(得分:1)
问题出在客户端,客户端正在使用代理,该代理后来被删除了,并且运行良好!!
答案 2 :(得分:-1)
当我关闭我的 Windows 防火墙时它解决了。