图像读取编码与反编码:

import requests
import json
import numpy as np
import cv2
import base64 # 首先将图片读入
# 由于要发送json,所以需要对byte进行str解码
def getByte(path):
with open(path, 'rb') as f:
img_byte = base64.b64encode(f.read())
img_str = img_byte.decode('ascii')
return img_str img_str = getByte('../face_/sample/heyang.jpg')
# 此时可以测试解码得到图像并显示,服务器端也按照下面的方法还原图像继续进一步处理
img_decode_ = img_str.encode('ascii') # ascii编码
img_decode = base64.b64decode(img_decode_) # base64解码
img_np = np.frombuffer(img_decode, np.uint8) # 从byte数据读取为np.array形式
img = cv2.imdecode(img_np, cv2.COLOR_RGB2BGR) # 转为OpenCV形式 # 显示图像
cv2.imshow('img', img)
cv2.waitKey()
cv2.destroyAllWindows()

发送图片到服务器:

import requests
import json
import base64
import socket # 首先将图片读入
# 由于要发送json,所以需要对byte进行str解码
def getByte(path):
with open(path, 'rb') as f:
img_byte = base64.b64encode(f.read())
img_str = img_byte.decode('ascii')
return img_str img_str = getByte('../face_/sample/heyang.jpg')
# 此段为获得ip,本人使用本机服务器测试
def getIp():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip url = 'http://' + str(getIp()) + ':9888/'
data = {'recognize_img':img_str, 'type':'', 'useAntiSpoofing':''}
json_mod = json.dumps(data)
res = requests.post(url=url, data=json_mod)
print(res.text)
# 如果服务器没有报错,传回json格式数据
print(eval(res.text))

--

python使用post请求发送图片并接受图片的更多相关文章

  1. 用Python做大批量请求发送

    大批量请求发送需要考虑的几个因素: 1. 服务器承载能力(网络带宽/硬件配置); 2. 客户端IO情况, 客户端带宽, 硬件配置; 方案: 1. 方案都是相对的; 2. 因为这里我的情况是客户机只有一 ...

  2. python通过http请求发送soap报文进行webservice接口调用

    最近学习Python调用webservice 接口,开始的时候主要采用suds 的方式生产client调用,后来发现公司的短信接口采用的是soap报文来调用的,然后开始了谷歌,最后采用httplib ...

  3. python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件

    # settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, l ...

  4. python用httplib模块发送get和post请求

    在python中,模拟http客户端发送get和post请求,主要用httplib模块的功能. 1.python发送GET请求 我在本地建立一个测试环境,test.php的内容就是输出一句话: 1 e ...

  5. python的post请求抓取数据

    python通过get方式,post方式发送http请求和接收http响应-urllib urllib2 python通过get方式,post方式发送http请求和接收http响应-- import  ...

  6. scrapy框架post请求发送,五大核心组件,日志等级,请求传参

    一.post请求发送 - 问题:爬虫文件的代码中,我们从来没有手动的对start_urls列表中存储的起始url进行过请求的发送,但是起始url的确是进行了请求的发送,那这是如何实现的呢? - 解答: ...

  7. Python调用飞书发送消息

    一.创建飞书机器人 自定义飞书机器人操作步骤,具体详见飞书官方文档:<机器人 | 如何在群聊中使用机器人?>

  8. C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

    我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特 ...

  9. Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带 ...

随机推荐

  1. 2. premiere 项目管理

    1.premiere 项目管理 可以对项目素材进行一个管理,方便我们对项目文件的编辑 1.序列选择,管理前更改好名称 2.管理保留原始素材,不要选择转码 3.通过浏览,选择存储路径 点击“计算”,显示 ...

  2. ISCC之msc4

    一开始拿到题目的时候有点懵的,给个gif图片,233 常规分析,gif打开看一看,发现gif是多张图片组成,于是用fastStone Image viewer分解成九张图片 后面用PS拼起来,得到一个 ...

  3. [Python] Codecombat 攻略 地牢 Kithgard (1-22关)

    首页:https://cn.codecombat.com/play语言:Python 第一界面:地牢 Kithgard(22关) 时间:1-3小时 内容:语法.方法.参数.字符串.循环.变量等 网页: ...

  4. 题解 洛谷P5380 【[THUPC2019]鸭棋】

    就是一道大模拟. 首先,来解释一下复杂的题意: 给你一些棋子,每个棋都有不同的走法,开局是回归原位. 接下来,题目会给你一个虚拟的走子操作(注意不一定真实),你所需要判断当前操作是否正确.若不正确,输 ...

  5. java通过url读取网络图片

    使用java.net读取网络文件 import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io ...

  6. workerman——报错

    stream_socket_server(): unable to connect to tcp://0.0.0.0:8282 (Address already in use) in file [报错 ...

  7. python - django (实现电子邮箱的账户注册和验证码功能)

    使用 Django 来做一个电子邮箱注册 并 发送验证码的功能 (此处以 163 邮箱为例) 一. 登陆 163 邮箱账号,  然后进行下列操作 二. settings 配置文件 # 发送邮箱验证码 ...

  8. jupyter安装小结

    jupyter安装小结 更新时间:2016年03月13日 15:42:37   投稿:hebedich    我要评论 jupyter (之前的 ipython notebook )于我的最大意义在于 ...

  9. composer 发布一个自己的扩展包

    练习写了一个扩展包,步骤参考github项目的readme.md 文件.https://github.com/codingmonkey9/test 说明:只是自己简单记录一下,没有详细写. 如何发布具 ...

  10. HTML 010 radio

    Struts2单选按钮标签s:radio的使用及其设置默认值 转载atom168 发布于2014-12-01 15:40:59 阅读数 519  收藏 展开 首先在页面中引入struts标签库: &l ...