Python get、post、option请求及各种文件上传一个方法全搞定

requests

说明

post文件到服务器时, header需要增加一个特殊的头信息:Content-Type

使用模块

datDict = {‘taskIds1’: ‘178626139458322436’, ‘filename1’: ‘tempIntergface.xlsx’, ‘files1’: ‘./tempIntergface.xlsx’)}

# 引入模块
	import requests,sys,os
	# 传文件时, 指定 method参数为 post-file
    def agencyRequest(method, targetURL, paramData, headers, fileDirectory='', aFileName='', timeout=5):
    	#路径自行处理
        rootPath = r"d:/"
        if method.lower() == 'post-file':
            method = "post"
            # 注意这里没有做校验, 可能报错
            headers.pop("Content-Type")
            paramValues = list(paramData.values())
            # 附件中间文件夹路径
            fileDirectory = fileDirectory if '' != fileDirectory else paramValues[-1]
            # 附件名称
            aFileName = aFileName if '' != aFileName else paramValues[-2]
            filePath = os.path.join(rootPath, fileDirectory.strip().strip('/'), aFileName.strip().strip('/'))
            with open(filePath, 'rb') as fp:
                # 复杂的文件请求: 文件名称, 字节流, 文件类型, 请求头
                files = {'file': (aFileName, fp, 'application/octet-stream', {'Expires': '0'})}
                # files = {'file': (aFileName, fp)}
                getResponse = requests.request(method, targetURL,
                                               json=paramData, files=files,
                                               headers=headers, timeout=timeout)
        else:
            getResponse = requests.request(method, targetURL, json=paramData,
                                           headers=headers, timeout=timeout)
        return getResponse





  1. 需要传的参数 ↩︎ ↩︎ ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值