博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python requests 客户端和服务器端编写 sample(图片接发base64传输)
阅读量:3581 次
发布时间:2019-05-20

本文共 1933 字,大约阅读时间需要 6 分钟。

客户端:

import requestsimport base64def base_img(img_im):    return base64.b64encode(cv2.imencode('.jpg',img_im)[1]).decode()pic_path = r'***.png'img_im = cv2.imread(pic_path)base64_img = base_img(img_im)data = {"rtpmurl":"rtmp url",       "applydate":"2020-03-20 20:26:31",       "camera_status":"statu01",       "backurl":"回传url",       "base64_img":base64_img}url = "服务器链接路径"headers = {'Content-Type':'application/json;charset=UTF-8'} # 头文件res = requests.request("post",url,json=data, headers=headers) # post方法;print(res.status_code)print(res.text)

服务器端:

from flask import Flask, jsonify, requestimport osapp = Flask('testserver')basedir = os.path.abspath('.')@app.route('/server_v4', methods=['POST', 'GET'])def api_upload():	global rtmp_url_set,url_bianhao    if request.method == 'GET':        print("hello world")        return "success"    else:        print('hello world')        print(request)               rtpmurl = request.json['rtpmurl']        if rtpmurl not in rtmp_url_set.keys():            url_bianhao += 1            rtmp_url_set[rtpmurl] = "%02d" % url_bianhao            os.makedirs(os.path.join(basepath,rtmp_url_set[rtpmurl]),exist_ok=True)        # 地址        # print(rtpmurl)        backurl = request.json['backurl']        applydate = request.json['applydate']		        # 申请时间        camera_status = CAMERA_STATUS_START		        # 图片解压        if "base64image" in request.json:            data = request.json['base64image']            length = len(os.listdir(os.path.join(basepath,rtmp_url_set[rtpmurl])) + 1            name = rtmp_url_set[rtpmurl] + '_' + str(length) + '.jpg'            path = os.path.join(basepath, rtmp_url_set[rtpmurl],name)            fh = open(path, "wb")            fh.write(base64.b64decode(data))  # 转换为image            fh.close()if __name__ == '__main__':	global rtmp_url_set,url_bianhao    rtmp_url_set = {}    url_bianhao = 0    app.run(debug=False, host="192.168.2.54", port=9000)

转载地址:http://iuagj.baihongyu.com/

你可能感兴趣的文章
N10-sql注入(information_schema注入)
查看>>
N1-Kali虚拟机中SQLmap
查看>>
N11-sql注入(http头注入)
查看>>
N2-sqlmap初使用
查看>>
N12-sql盲注原理以及boolean盲注案例实现
查看>>
N13-sqli盲注 基于时间型
查看>>
N1 技术心得 2019-6-26
查看>>
N1-环境配置
查看>>
N2-审计方法与步骤
查看>>
N3-常见的INI配置
查看>>
代码审计 N4 常见危险函数和特殊函数(一)
查看>>
MySQL笔记
查看>>
计算机运算方法之(原码 补码 反码 移码)
查看>>
计算机组成原理之(二进制与十进制互相转换,数的定点表示与浮点数表示)例题:设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符)
查看>>
选择排序(java代码实现)
查看>>
插入排序
查看>>
哈夫曼树java代码实现
查看>>
快速排序
查看>>
vue路由高亮的两种方式
查看>>
vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法
查看>>