Request safe_get 小工具

接口安全獲取請求參數小工具( python)

flask

import logging
import traceback
from flask import (Blueprint, request, Response, jsonify, g, send_file)def safe_get(req: request, attr: str, default=None):try:if attr in req.form:return req.form.getlist(attr)[0]if attr in req.args:return req.args[attr]if attr in req.json:return req.json[attr]# if value := req.form.get(attr):#     return value# if value := req.args.get(attr):#     return value# """req.json執行時不校驗content-type,body字段可能不能被正確解析為json"""# if value := req.json.get(attr):#     return valueexcept Exception as e:logging.warning(f"get {attr} from request failed:")logging.warning(traceback.format_exc())return default

sanic

from sanic.request import Request
from sanic.exceptions import BadRequest
import traceback
from urllib.parse import urlparse
import time
import os
import logging
import re
import tiktokendef get_time(func):def inner(*arg, **kwargs):s_time = time.time()res = func(*arg, **kwargs)e_time = time.time()print('函數 {} 執行耗時: {} 秒'.format(func.__name__, e_time - s_time))return resreturn innerdef safe_get(req: Request, attr: str, default=None):try:if attr in req.form:return req.form.getlist(attr)[0]if attr in req.args:return req.args[attr]if attr in req.json:return req.json[attr]# if value := req.form.get(attr):#     return value# if value := req.args.get(attr):#     return value# """req.json執行時不校驗content-type,body字段可能不能被正確解析為json"""# if value := req.json.get(attr):#     return valueexcept BadRequest:logging.warning(f"missing {attr} in request")except Exception as e:logging.warning(f"get {attr} from request failed:")logging.warning(traceback.format_exc())return default

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41200.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41200.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41200.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

拍攝泡咖啡的劇本!

泡咖啡的過程可以是一種放松和享受的儀式,同時也是一個記錄生活美好瞬間的好機會。以下是一些步驟和提示,幫助您記錄泡咖啡的過程: 1. **準備材料**: 確保您有新鮮的咖啡豆、磨豆機、咖啡壺、濾紙、熱水和杯子。 2. **選擇音樂**&…

Logstash安裝插件失敗的問題

Logstash安裝插件失敗的問題 安裝 logstash-output-jdbc 失敗 報錯為: Unable to download data from https://rubygems.org - Net::OpenTimeout: Failed to open TCP connection to rubygems.org:443 (execution expired) (https://rubygems.org/latest_specs.4.…

【算法 - 哈希表】兩數之和

這里寫自定義目錄標題 兩數之和題目解析思路解法一 :暴力枚舉 依次遍歷解法二 :使用哈希表來做優化 核心邏輯為什么之前的暴力枚舉策略不太好用了?所以,這就是 這道題選擇 固定一個數,再與其前面的數逐一對比完后&…

Linux系統(CentOS)安裝iptables防火墻

1,先檢查是否安裝了iptables 檢查安裝文件-執行命令:rpm -qa|grep iptables 檢查安裝文件-執行命令:service iptables status 2,如果安裝了就卸裝(iptables-1.4.21-35.el7.x86_64 是上面命令查出來的版本) 執行命令&#xff1a…

藍牙信標和藍牙標簽我們如何區分,區分方法有哪些?

藍牙信標和藍牙標簽其實是兩種不同的技術,很多人可能會把藍牙信標和藍牙標簽搞混,因為區分不開來,但實際上,區分這兩種技術也很簡單,因為它們各自都有不一樣的特性,通過這些特性,我們也能正常區…

相機光學(二十四)——CRA角度

CRA角度 0.參考資料1.什么是CRA角度2.為什么 CRA 會導致luma shading3.為什么 CRA 會導致color shading4.CRA相差過大的具體表現5.CRA Matching6.怎樣選擇sensor的CRA 0.參考資料 1.芯片CRA角度與鏡頭的匹配關系(一) ??2.芯片CRA角度與鏡頭選型的匹配關…

爬蟲進階:Selenium與Ajax的無縫集成

爬蟲與Ajax的挑戰 Ajax(Asynchronous JavaScript and XML)允許網頁在不重新加載整個頁面的情況下與服務器交換數據并更新部分內容。這為用戶帶來了更好的體驗,但同時也使得爬蟲在抓取數據時面臨以下挑戰: 動態內容加載&#xff…

go語言 函數和包

go語言 函數和包 一、函數 在Go語言中,函數是執行特定任務的自包含代碼塊。 1.函數的定義 函數通過func關鍵字定義,格式如下: func 函數名(形參 形參類型, 形參 形參類型) 返回值類型 {函數體return 返回值 }2.基礎函數類型 無參數無返回…

vue中數組出現__ob__: Observer屬性,導致不能正確使用問題解決

直接上圖,如下圖,數組中出現__ob__: Observer屬性,導致無法取值。 解決方案為:JSON.parse(JSON.stringify(數組變量名))深拷貝數組,重新生成一個可枚舉數組。 // 處理代碼如let tempIds JSON.parse(JSON.stringify(i…

一文帶你初探FreeRTOS信號量

本文記錄我初步學習FreeRTOS的信號量的知識,在此記錄分享,希望我的分享對你有所幫助! 什么是信號量 在FreeRTOS中,信號量(Semaphore)是一種用于任務間同步和資源共享的機制。信號量主要用于管理對共享資源的…

Cgi上傳文件 注意事項

//核心代碼 ofstream outfile("/opt/software/" file.getFilename(), ios::out | ios::binary); outfile << file.getData(); //錯誤方式&#xff1a;outfile << file.getData() <<endl; outfile.close(); 參考博客&#xff1a; https://blog.cs…

GNU/Linux - 各種包管理器介紹

Linux 包管理器根據不同的發行版和包管理系統有所不同。以下是一些常見的 Linux 包管理器&#xff1a; 1. RPM (Red Hat Package Manager) * 用于&#xff1a; Red Hat Enterprise Linux (RHEL), Fedora, CentOS, openSUSE * 包管理器&#xff1a; rpm, yum, dnf 2. DEB (Deb…

HTML如何在圖片上添加文字

HTML如何在圖片上添加文字 當我們開發一個頁面&#xff0c;插入圖片時&#xff0c;需要有一組文字對圖片進行描述。那么HTML中如何在圖片上添加文字呢&#xff1f;這篇文章告訴你。 先讓我們來看下效果圖&#xff1a; 句子“這是一張夜空圖片”被放置在了圖片的左下角。 那么…

Leetcode.342 4的冪

給定一個整數&#xff0c;寫一個函數來判斷它是否是 4 的冪次方。如果是&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 整數 n 是 4 的冪次方需滿足&#xff1a;存在整數 x 使得 n 4x 示例 1&#xff1a; 輸入&#xff1a;n 16 輸出&#xff1a;true示…

微信小程序的智慧物流平臺-計算機畢業設計源碼49796

目 錄 摘要 1 緒論 1.1 研究背景 1.2 研究意義 1.3研究方法 1.4開發技術 1.4.1 微信開發者工具 1.4.2 Node.JS框架 1.4.3 MySQL數據庫 1.5論文結構與章節安排 2系統分析 2.1 可行性分析 2.2 系統流程分析 2.2.1 用戶登錄流程 2.2.2 數據刪除流程 2.3 系統功能分…

C#面:ASP.NET Core Filter如何?持依賴注??

ASP.NET Core Filter可以通過依賴注入來支持。在ASP.NET Core中&#xff0c;依賴注入是一種將依賴對象提供給類的機制&#xff0c;它可以幫助我們解耦和測試代碼。 要在ASP.NET Core Filter中使用依賴注入&#xff0c;可以按照以下步驟進行操作&#xff1a; 首先&#xff0c;…

ESP32CAM物聯網教學09

ESP32CAM物聯網教學09 攝像頭配上顯示屏 小智給攝像頭配上了一塊液晶顯示屏,ESP32Cam變得更加酷炫了,應用也更加廣泛了。 TFT彩色顯示屏從第一課的CameraWebServer開始,我們一直都是利用瀏覽器來查看顯示攝像頭的視頻流,都需要借助這個網頁提供的服務。 可以讓ESP32Cam開…

【案例干貨】智能導覽智慧景區系統小程序開發主要功能

智能景區/園區導覽系統是一種利用云計算、物聯網等新技術&#xff0c;通過互聯網或移動互聯網&#xff0c;借助便攜的終端上網設備&#xff0c;為游客提供全方位、便捷化街區導航與信息服務的系統。 其主要功能可以歸納為以下幾個方面&#xff1a; 1. 街區資訊展示 信息介紹&…

纏中說禪李彪08年“假死”具體原因探討

在纏中說禪的信徒圈內&#xff0c;流傳著創始人李彪于2008年逝世的說法&#xff0c;這一事件常被描繪成一種悲壯的犧牲&#xff0c;仿佛是為了其理念與信徒們的福祉鞠躬盡瘁。然而&#xff0c;這一“逝世”既未經公開證實&#xff0c;也與李彪生前構建的高大名聲形成了某種諷刺…

短鏈接學習day2

用戶敏感信息脫敏展示&#xff1a; RequestParam 和 PathVariable的區別 注解是用于從request中接收請求的&#xff0c;兩個都可以接收參數&#xff0c;關鍵點不同的是RequestParam 是從request里面拿取值&#xff0c;而 PathVariable 是從一個URI模板里面來填充。 PathVari…