request post 提交multipart/form-data数据,图片格式为‘application/octet-stream

def postdata(content, url):try:boundrystr = '--100000000000000000' + str(random.randint(1e28, 1e29 - 1))paramrlt, parampic, paramseq = content[1], content[2], content[3]# 换自己数据if len(parampic) == 0:# 需改return []field = {'name': paramrlt["planName"],'code': str(paramrlt["code"]),'subName': '固安东变电所','startTime': paramrlt["planStartTime"],'endTime': paramrlt["planEndTime"],}# 换自己数据for index in range(len(parampic)):# 换成自己需要的处理方式with open(parampic[index]["saveDataPath"], 'rb') as f: # 换自己图片路径image_data = f.read()image_base64 = base64.b64encode(image_data)# 图片base64编码tmpdic = {"cards[%s].seq" % index: str(paramseq[index]["seq"]), "cards[%s].camName" % index: "云台","cards[%s].presetCode" % index: str(paramseq[index]["presetCode"]),"cards[%s].pictureNum" % index: str(len(parampic)),"cards[%s].result" % index: str(parampic[index]["temperature"]),"cards[%s].status" % index: str(parampic[index]["patrolResult"]),"cards[%s].message" % index: parampic[index]["checktype"], "cards[%s].pics[0]" % index: (parampic[index]["saveDataPath"].split("/")[-1], image_base64, 'application/octet-stream')}# 换自己数据field = dict(field, **tmpdic)multipart_encoder = MultipartEncoder(fields=field,boundary=boundrystr)headers = {# 'Host': '10.143.50.36:5355','User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',# 'Accept': 'multipart/form-data','Accept-Encoding': 'gzip, deflate',# 'Content-Length': '3143909','Connection': 'Keep-Alive','Content-Type': 'multipart/form-data; boundary=' + boundrystr}with requests.Session() as pt:response = pt.post(url, data=multipart_encoder, verify=False, headers=headers, stream=True)return [eval(response.text), parampic[0]["patrolPlanID"]]# 返回自己需要的数据except Exception as e:return []

把自己需要的数据组装上


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部