1、http报文格式
http的报文格式如上图所示,而post发送请求,无非是请求行请求方法的值为post。
2、post请求提交数据的字段
这里主要讨论它的Content-Type字段对应的不同的值。
1. application/x-www-form-urlencoded
2. application/json
3. text/xml
4. multipart/form-data
对于第一种,主要是用来传输形如这样的数据:
name="二狗"&age="18"
并且这个字段会默认进行URL编码并将编码的结果放在请求数据部分,进行数据传输。
对于第二种和第三种,主要是用来传输json数据和xml数据。
对于最后一种,主要是用来进行文件传输。
3、文件下载实例
@post("/download/")
def download():
return static_file("1.jpg", "download/")
fiddler测试结果图
4、文件上传实例
@post("/upload/")
def upload():
uploadfile = request.files.get('fieldNameHere') # 获取上传的文件
uploadfile.save("./upload/1.png", overwrite=True) # overwrite参数是指覆盖同名文件
return "OK"
值得注意的是,request.files.get()
的参数取决于该值:
fiddler测试结果图