无法在 Flask 本地主机应用程序中使用 getCurrentPosition()
unable to use getCurrentPosition() in a Flask local host app
我正在开发一个 python flask 应用程序来练习。我想访问 JS 的 getCurrentPosition() 来获取地理位置。但是,由于该应用程序在 http://localhost:5000/ 上 运行,我收到一个错误,即 getCurrentPosition() 和 watchPosition() 在不安全的来源 上被弃用。
有没有办法让它在 flask localhost 服务器上运行?
我找到了解决办法。地理定位只能用于 HTTPS 请求。
为了将您的 localhost flask 应用程序从 HTTP 转换为 HTTPS,您必须使用 OpenSSL 创建密钥和证书。
按照以下步骤为 flask localhost 服务器设置 HTTPS 环境
- 如果您已经安装了 Git,那么 OpenSSL 命令会包含在一个包中。在您要存储文件的位置打开 git bash。
- 运行 Git Bash.
中的以下命令
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
- 将 python 脚本中的 app.run() 方法更改为以下
context = (r"{path}\certificate.pem", r"{path}\key.pem")
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug=True,ssl_context=context)
path指的是密钥和证书文件存放的位置目录。
我正在开发一个 python flask 应用程序来练习。我想访问 JS 的 getCurrentPosition() 来获取地理位置。但是,由于该应用程序在 http://localhost:5000/ 上 运行,我收到一个错误,即 getCurrentPosition() 和 watchPosition() 在不安全的来源 上被弃用。
有没有办法让它在 flask localhost 服务器上运行?
我找到了解决办法。地理定位只能用于 HTTPS 请求。 为了将您的 localhost flask 应用程序从 HTTP 转换为 HTTPS,您必须使用 OpenSSL 创建密钥和证书。
按照以下步骤为 flask localhost 服务器设置 HTTPS 环境
- 如果您已经安装了 Git,那么 OpenSSL 命令会包含在一个包中。在您要存储文件的位置打开 git bash。
- 运行 Git Bash. 中的以下命令
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
- 将 python 脚本中的 app.run() 方法更改为以下
context = (r"{path}\certificate.pem", r"{path}\key.pem")
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug=True,ssl_context=context)
path指的是密钥和证书文件存放的位置目录。