flask如何請求別的網站
跨域檔案上傳的時候,瀏覽器會自動發起一個 OPTIONS 方法到伺服器,現在後臺解決前端跨域解決前端跨域請求的問題。
客戶端發起的這個 OPTIONS 可以說是一個“預請求”,用於探測後續真正需要發起的跨域 POST 請求對於伺服器來說是否是安全可接受的,因為跨域提交資料對於伺服器來說可能存在很大的安全問題。
請求頭 Access-Control-Request-Method 用於提醒伺服器在接下來的請求中將會使用什麼樣的方法來發起請求。
Access-Control-Allow-Method 和 Access-Control-Allow-Origin 分別告知客戶端,伺服器允許客戶端用於跨域的方法和域名。
示例
下載flask_cors 包
pip install flask-cors
使用flask_cors的CORS,程式碼示例
from flask_cors import * app = Flask(__name__) CORS(app, supports_credentials=True)
實現
現在我們看看解決問題的實際案例
from flask_cors import CORS app = Flask(__name__,) # r'/*' 是萬用字元,讓本伺服器所有的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
目中路由是多級路由,透過主路由跳轉到子路由,一開始的時候,允許跨域的配置在上傳檔案的子路由中進行設定,發現OPTIONS請求響應值中並沒有返回預期的標頭檔案,將跨域設定在主路由中設定即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2836947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使flask允許跨域請求Flask跨域
- Flask——請求資料Flask
- [譯]Flask教程–請求物件Flask物件
- 網站http請求狀態碼網站HTTP
- 如何使用Flask編寫一個網站Flask網站
- 如何根據介面請求型別和請求方法,自動執行對應請求型別
- Flask中請求資料的優雅傳遞Flask
- 小程式https請求,http網站升到httpsHTTP網站
- 2018-08-21網站請求+BUG定位網站
- get請求和post請求的區別
- 網站提示408 請求超時怎麼辦網站
- 一個HTTP請求,把網站打裂開了HTTP網站
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- Android網路請求(4) 網路請求框架VolleyAndroid框架
- Android網路請求(終) 網路請求框架RetrofitAndroid框架
- Android網路請求(3) 網路請求框架OkHttpAndroid框架HTTP
- flask路由系統、偏函式、CBV、模板、請求響應、session、請求擴充套件Flask路由函式Session套件
- 網站提示400 - 請求錯誤,伺服器無法理解客戶端的請求怎麼辦網站伺服器客戶端
- 如何使用 Python 請求網路資源Python
- 網路請求優化之取消請求優化
- CSRF - 跨站請求偽造
- 型別安全的 Go HTTP 請求型別GoHTTP
- get與post的請求區別
- 網站提示400錯誤:錯誤請求怎麼辦網站
- 如何避免舊請求的資料覆蓋掉最新請求
- python requests get請求 如何獲取所有請求Python
- Laravel 是如何請求 Request 的Laravel
- 網路請求了
- 請問公司網站如何修改電話網站
- 從HTTP請求響應迴圈探索Flask的基本工作方式HTTPFlask
- [Http] 跨站請求偽造(CSRF)HTTP
- Django框架之csrf跨站請求Django框架
- C# 請求的名稱有效,但是找不到請求的型別的資料C#型別
- 前端傳送的請求,是如何請求到後端服務的?前端後端
- 如何使用策略模式處理多種型別請求模式型別
- 瀏覽器如何將你的http請求轉為https請求?瀏覽器HTTP
- 爬蟲:HTTP請求與HTML解析(爬取某乎網站)爬蟲HTTPHTML網站
- POST與GET請求區別