溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

flask請求第三方網(wǎng)站的方法

發(fā)布時(shí)間:2020-08-06 10:58:36 來源:億速云 閱讀:324 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)flask請求第三方網(wǎng)站的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

跨域文件上傳的時(shí)候,瀏覽器會(huì)自動(dòng)發(fā)起一個(gè) OPTIONS 方法到服務(wù)器,現(xiàn)在后臺解決前端跨域解決前端跨域請求的問題。

客戶端發(fā)起的這個(gè) OPTIONS 可以說是一個(gè)“預(yù)請求”,用于探測后續(xù)真正需要發(fā)起的跨域 POST 請求對于服務(wù)器來說是否是安全可接受的,因?yàn)榭缬蛱峤粩?shù)據(jù)對于服務(wù)器來說可能存在很大的安全問題。

請求頭 Access-Control-Request-Method 用于提醒服務(wù)器在接下來的請求中將會(huì)使用什么樣的方法來發(fā)起請求。

Access-Control-Allow-Method 和 Access-Control-Allow-Origin 分別告知客戶端,服務(wù)器允許客戶端用于跨域的方法和域名。

示例

下載flask_cors 包

pip install flask-cors

使用flask_cors的CORS,代碼示例

from flask_cors import *

app = Flask(__name__)
CORS(app, supports_credentials=True)

實(shí)現(xiàn)

現(xiàn)在我們看看解決問題的實(shí)際案例

from flask_cors import CORS
app = Flask(__name__,)
# r'/*' 是通配符,讓本服務(wù)器所有的URL 都允許跨域請求
CORS(app, resources=r'/*')
# 上傳文件
@uploadFiles.route('/upload', methods=['POST'])
def uploadFile():
    result_text = {"statusCode": 200,"message": "文件上傳成功"}
    response = make_response(jsonify(result_text))
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Methods'] = 'OPTIONS,HEAD,GET,POST'
    response.headers['Access-Control-Allow-Headers'] = 'x-requested-with'
    return response

目中路由是多級路由,通過主路由跳轉(zhuǎn)到子路由,一開始的時(shí)候,允許跨域的配置在上傳文件的子路由中進(jìn)行設(shè)置,發(fā)現(xiàn)OPTIONS請求響應(yīng)值中并沒有返回預(yù)期的頭文件,將跨域設(shè)置在主路由中設(shè)置即可。

感謝各位的閱讀!關(guān)于flask請求第三方網(wǎng)站的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI