python requests post 二进制流_如何从requests POST端点返回的原始二进制文件下载zip文件?...

我需要命中一个POST端点并将响应(二进制数据)保存为zip文件并下载到本地目录。我已经设法到达POST端点并检索二进制数据,但是我很难将其转换或保存为zip文件。在

download_contract函数是我用来到达端点的POST,contract是我正在解析的JSON:def post(cls, url, access_token, obj=None):

return WebResponse.from_requests(requests.post(url, data=None if obj is None else obj.json(), headers=cls.secure_header(access_token) if obj is None else cls.secure_json_header(access_token)))

def download_contract(self, contract):

return SecureWebRequest.post(self.CONTRACT_EXPORT_URL, obj=contract, access_token=self.access_token)

下面的代码是关于我访问端点并检索它的响应并尝试将其保存为zip文件的。在

^{pr2}$

打印时返回什么(上下文.响应)具体如下:WebResponse(200,m_-Jinstrument.xmlmPÍ Â0

žď)B_ÖQ1CđŕYń8ĘIkGßޡ)Ă\ň}|?FłČeqÁťť×=Lť&sRÁĐxÜăcŇĽHżÁ:Źů9

üż7OĚhtÓé`Ä#CŤ3>ÚŇŞV­hŕşwZÂč8yłś 32Wű\ep

WebResponse是(status_code,result),其中status_code对应于HTTP状态码200,result是端点返回的原始数据。在class WebResponse():

STATUS_OK = 200

STATUS_CREATED = 201

STATUS_ACCEPTED = 202

STATUS_NOCONTENT = 204

STATUS_BADREQUEST = 400

STATUS_UNAUTHORIZED = 401

STATUS_FORBIDDEN = 403

STATUS_NOTFOUND = 404

STATUS_CONFLICT = 409

STATUS_INVALID = 422

STATUS_INTERNALSERVER_ERROR = 500

def __init__(self, r, result=None):

self.status_code = r.status_code

self.text = r.text

self.headers = r.headers

self.result = r.text if result is None else result

def __repr__(self):

return 'WebResponse(%s, %s)' % (self.status_code, self.result)

错误回缩:Traceback (most recent call last): File

"/Users/ss/anaconda/envs/autoimport-server/lib/python3.4/site-packages/behave/model.py",

line 1456, in run

match.run(runner.context) File "/Users/ss/anaconda/envs/autoimport-server/lib/python3.4/site-packages/behave/model.py",

line 1903, in run

self.func(context, *args, **kwargs) File "features/steps/miu_connector_steps.py", line 255, in step_impl

with context.services.autoimport.download_contract(DownloadContract(context.program_id,

complete_filename(context.filename))) as response, open(file_name,

'wb') as out_file: AttributeError: exit

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值