python使用requests发送multipart/form-data请求数据

复制代码
 def client_post_mutipart_formdata_requests(request_url,requestdict):
        #功能说明:发送以多部分表单数据格式(它要求post的消息体分多个部分(fields)发送,每个fields之间用自定义的且唯一的随机字符串boundary进行分割。)请求到远程服务器,并获取请求响应报文。建议先沟通开发确认分哪几个部分发送。该请求消息头要求为:{"Content-Type": "multipart/form-data; boundary=------HBmtFbelYio71LqQCanw3zfZAvs5U9c6"}。
        #输入参数说明:接收请求的URL;多部分表单数据(字典的形式表示),例如:{'xmlhead':'123456','xmlbody':'123456'},对于不清楚数据名称的,建议先沟通开发人员进行确认。
        #输出参数:请求响应报文

    import requests,string,random
    from requests_toolbelt import MultipartEncoder

        m = MultipartEncoder(
            fields=requestdict,
            boundary='------'+''.join(random.sample(string.ascii_letters + string.digits, 32))
            )
            
        print '客户端请求报文数据为(客户端 --> 服务端):\n',m
        
        #发送请求报文到服务端
        r = requests.post(request_url,data=m,headers={'Content-Type': m.content_type})
        print '请求headers为: ',r.request.headers
        
        #获取服务端的响应报文数据
        responsedata=r.text
        print '服务端的响应报文为(客户端 <--服务端): ',responsedata
        print "get the status: ",r.status_code
           
        #返回请求响应报文
        return responsedata   
复制代码

 

posted @   垄上行  阅读(9527)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示