如何解决调用AI人脸识别出现跨域问题?

举报
TSINGSEE青犀视频 发表于 2021/12/09 14:22:09 2021/12/09
【摘要】 所以从网上大致搜索python的flask解决跨域的问题。直接安装flask_cors库:pip install flask_cors。 安装好flask_cors库,解决跨域的方法有二个,一种是一次性解决跨域的问题(全局解决跨域),第二种是只指定某个路由来解决跨域的问题。

人脸识别已经是智慧化发展的一个重要标志了,一般分为两个步骤:前端人脸图像采集系统通过抓拍采集人脸图像、实时视频流等,后端的智能平台可将前端采集的相关数据统一进行汇聚、处理、存储、应用、管理与共享,并结合人脸识别系统,实现人脸识别功能。上一篇我们讲到人脸识别AI的实现,本文讲一下调用AI识别时出现的问题。

将人脸识别放到公网服务器时,使用html访问的时候,出现跨域的情况:“Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.”

因为html在使用Ajax时,是不能解决跨域的问题,一旦客户端和服务端的代码都不在同一个服务器,则需要考虑跨域访问的问题。

所以从网上大致搜索python的flask解决跨域的问题。直接安装flask_cors库:pip install flask_cors。

安装好flask_cors库,解决跨域的方法有二个,一种是一次性解决跨域的问题(全局解决跨域),第二种是只指定某个路由来解决跨域的问题。

1、使用CORS函数进行全局配置路由来解决跨域

from flask_cors import CORS

app = Flask(__name__)
CORS(app, supports_credentials=True) # 全局解决跨域

2、使用@cross_origin来解决某个路由的跨域

from flask_cors import cross_origin
app = Flask(__name__)

@app.route('/test')
@cross_origin(supports_credentials=True)
def test():
    ret = {"success": True, "message": ""}
    return json.dumps(ret, ensure_ascii=False)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。