我正在开发一个python flask应用程序用于练习。我想访问JS的getCurrentPosition()来获取地理位置。然而,由于应用程序在http://localhost:5000/上运行,我得到了一个错误,即getCurrentPosition()和watchPosition()在不安全的起源上被弃用。
有没有一种方法可以在flask localhost服务器上工作?
我正在开发一个python flask应用程序用于练习。我想访问JS的getCurrentPosition()来获取地理位置。然而,由于应用程序在http://localhost:5000/上运行,我得到了一个错误,即getCurrentPosition()和watchPosition()在不安全的起源上被弃用。
有没有一种方法可以在flask localhost服务器上工作?
2条答案
按热度按时间b0zn9rqh1#
我已经找到了解决方案。地理位置只能在HTTPS请求中使用。为了将localhost flask应用程序从HTTP转换为HTTPS,您必须使用OpenSSL创建密钥和证书。
按照以下步骤为flask localhost服务器设置HTTPS环境
第一个月
字符串
path是指存储密钥和证书文件的位置目录。
drkbr07n2#
让我感到困惑的是,文档似乎很少提到
app.run()
了。您也可以使用flask CLI设置密钥和证书。查看flask run --help
以获取更多信息。这篇文章解释了你可以用来运行flask的两种方法之间的区别:How to run a flask application?
编辑:
我还需要补充的是,自行生成的密钥和证书不会被浏览器识别为安全的,因此,Chrome不允许位置共享。您可以在线获得证书,或者在我的情况下,使用不同的浏览器进行测试(Safari工作得很好)。