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

創(chuàng)新互聯(lián)公司是專業(yè)的陸豐網(wǎng)站建設(shè)公司,陸豐接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行陸豐網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
客戶端發(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è)置即可。
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:flask如何請求別的網(wǎng)站
分享鏈接:http://m.fisionsoft.com.cn/article/ccdsijs.html


咨詢
建站咨詢
