1. 程式人生 > 其它 >TSINGSEE青犀視訊呼叫AI人臉識別出現跨域問題如何解決?

TSINGSEE青犀視訊呼叫AI人臉識別出現跨域問題如何解決?

人臉識別已經是智慧化發展的一個重要標誌了,一般分為兩個步驟:前端人臉影象採集系統通過抓拍採集人臉影象、實時視訊流等,後端的智慧平臺可將前端採集的相關資料統一進行匯聚、處理、儲存、應用、管理與共享,並結合人臉識別系統,實現人臉識別功能。上一篇我們講到人臉識別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)