python实现Content-Type:application/octet-stream

Content-Type:application/octet-stream

这种传输用于图片|文本传输:

我也是在操作河马云手机中,往云机传输图片和文本txt遇到的。
“”"=============================================================="""
接下来python实现下:
首先要先安装:requests-toolbelt

pip install requests-toolbelt

图片:

# -*- coding: utf-8 -*-
# @Author  : Codeooo
# @Time    : 2021/10/22



import random
from base64 import b64decode

import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

def up(base64_img):
    url= 'https://hzsite.longene.com.cn/cardgroup!uploadChuckFile'
    headers={
        "Cookie":"JSESSIONID=1D70333FF886DDE6EDEA845EB8A7FDCA",
        # "Host":"hzsite.longene.com.cn",
        # "Origin":"https://hzsite.longene.com.cn",
        # "Pragma":"no-cache",
        # "Referer":"https://hzsite.longene.com.cn/js/webWorker_upload.js",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
    }

    multipart_encoder = MultipartEncoder(
        fields={
            "chuckSize":"1",
            "currentChuck":"1",
            "fileName": "1.png",
            # "Content-Type": "application/octet-stream",
            # "file": ("1.png", open('C:\\Users\Administrator\Desktop\index.png','rb'), 'application/octet-stream')
            "file": ("1.png",  b64decode(imgBase64(base64_img)), 'application/octet-stream')
        },
        # boundary = '-----------------------------' + "WebKitFormBoundary" + str(random.randint(1e28, 1e29 - 1))
        boundary = '----' + "WebKitFormBoundary" + generate_code()
    )

    headers['Content-Type'] = multipart_encoder.content_type
    print(multipart_encoder.content_type)

    result = requests.post(url, headers=headers, data=multipart_encoder)
    print(result.status_code)
    print(result.text)


def imgBase64(base64_img):
    return base64_img.replace("data:image/png;base64,","")



def generate_code(code_len = 16):
  all_char = '0123456789qazwsxedcrfvtgbyhnujmikolpQAZWSXEDCRFVTGBYHNUJIKOLP'
  code = ''
  for _ in range(code_len):
    num = random.randint(0,len(all_char)-1)
    code += all_char[num]
  return code


base64_img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9AQAAAACn+1GIAAABxElEQVR4Xr2VsY20MBCFBzlwtjRgyW04c0tsA7vQALTkzG1YcgNL5sDy/M9wp9NF4z85hBD6JJiZx3sD8e+j0N+ARjRHImebViupIeB51+bl6VnswXkIOHUEe0ZU5J2GQVQc6zPa/wBB7S736yBAp84eJX/8T+sCIHq4vF/nt0ACgNINejhafP7+DCJIU0nvks+SN7ZjAI8a0mYK6aGHQCPeIJ5XW8xcruFE4Ori6UXppe3GfVoZ+DqxeQd6cqXbQTLgj1NbsKuG6t2nImDGrYEXwJrOI6BLrtMcDLk0xV5WBIwo6Lx6XjXfLxVBI7O4tHgUrzQGYIFd88mwD1S8/SGA1r1j3kgD17t1EUCPnXglDFcXuiUUAAZqjqH9FiFMd5AIONQ5phkBcvwZBMVyMQu0p3z2zMmgaWSOV1dfCHccAw7pUbvGMkh0tS6CaznVd2EO+atTGeQrENxc3kJXXQSQEJtm9eaJslcaRHDtD7tFqJ7blz8E0LcUoWZ96Lxf08oAu7DHzn60uq0tA9f1O6GKJ/K99RFwlDpzepA9buOOgEhT4bP0GA0Bz0eAtWniLvwQ6H9CbME0x7roXlYE/Pv4I/AP3E++ybG1pKEAAAAASUVORK5CYII='
up(base64_img)

文本:

# -*- coding: utf-8 -*-
# @Author  : Codeooo
# @Time    : 2021/10/22



import random
from base64 import b64decode

import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

def up(base64_img,fileName):
    # url= 'https://ecsite.longene.com.cn/cardgroup!uploadChuckFile'
    url= 'https://hzsite.longene.com.cn/cardgroup!uploadChuckFile'

    headers={

        "Accept-Encoding": "gzip, deflate, br",
        "Cookie": "JSESSIONID=1D70333FF886DDE6EDEA845EB8A7FDCA",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
    }

    multipart_encoder = MultipartEncoder(
        fields={
            "chuckSize":"1",
            "currentChuck":"1",
            "fileName": f"{fileName}",
            "Content-Type": "application/octet-stream",
            "file": ("1.txt",  str.encode(txt), 'application/octet-stream')
        },
        boundary = '-----------------------------' + str(random.randint(1e28, 1e29 - 1))
    )

    headers['Content-Type'] = multipart_encoder.content_type

    result = requests.post(url, headers=headers, data=multipart_encoder)
    print(result.status_code)
    print(result.text)


def imgBase64(txt):
    return  str.encode(txt)


txt = '136xxxx7120----hpril64810'
fileName = '1.txt'
up(txt,fileName)


  • 71
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Codeooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值