1. 程式人生 > >測開之路三十一:Flask基礎之請求與相應

測開之路三十一:Flask基礎之請求與相應

val ict 方式 for image req python http 請求參數

from flask import request
request.path
request.method
request.form
request.args
request.values

一般用form獲取post的參數,用args獲取get的參數,如果不想區分get和post,則用value獲取

創建路由

技術分享圖片

訪問

技術分享圖片

控制臺

技術分享圖片

flask路由默認只支持get請求,而瀏覽器默認發的是get請求,所以沒問題,在沒有聲明請求方法的情況下,當發post請求時,就會報405

技術分享圖片

在路由裏面聲明post請求,再訪問

技術分享圖片

技術分享圖片

再看控制臺

技術分享圖片

這個時候再用get請求,又報錯

技術分享圖片

在路由裏面把get也加上再訪問

技術分享圖片

技術分享圖片

返回json字符串,如,把請求參數轉json再返回

第一種方式,用python自帶的json庫

技術分享圖片

get

技術分享圖片

post

技術分享圖片

第二種方式,用flask裏面的jsonify

技術分享圖片

get

技術分享圖片

post

技術分享圖片

使用get方法實現計算器,例如請求為http://localhost:8888/calculator?method=add&a=3&b=5則返回3+5=8,計算器支持四則運算:add\sub\mul\div

技術分享圖片

@app.route(‘/calculator‘)
def calculator():

data = request.values.to_dict()
mothod = data.get(‘method‘, ‘add‘)
try:
a = float(data.get(‘a‘, 0))
b = float(data.get(‘b‘, 0))
if mothod == ‘add‘:
return f‘{a}+{b}={a+b}‘
elif mothod == ‘sub‘:
return f‘{a}-{b}={a-b}‘
elif mothod == ‘mul‘:

return f‘{a}*{b}={a*b}‘
elif mothod == ‘div‘:
return f‘{a}/{b}={a/b}‘
else:
return ‘不支持的運算‘
except Exception as erro:
return str(erro)

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

測開之路三十一:Flask基礎之請求與相應