formdata格式的数据如何处理?

最近在处理和招行的数据对接,遇到一个很棘手的问题:招行回调我们的数据接口,但是招行给的文档里面显示招行提供的数据格式是formdata格式的,格式如下:

request_content=%7B%22merId%22%3A%22308999150570002%22%2C%22openId%22%3A%22o0xFV4wXFttZiHplNCvq9GGm8lrM%22%2C%22orderId%22%3A%2214233022%22%2C%22cmbOrderId%22%3A%22003219052720175970907079%22%2C%22userId%22%3A%22N002864744%22%2C%22txnAmt%22%3A%221%22%2C%22currencyCode%22%3A%22156%22%2C%22payType%22%3A%22WX%22%2C%22txnTime%22%3A%2220190527201844%22%2C%22endDate%22%3A%2220190527%22%2C%22endTime%22%3A%22201843%22%2C%22dscAmt%22%3A%220%22%7D&sign=MCMCKUgAv%2FIUIL3ceQ3gaFhUHPN4LMb8xBG2zOUaurdpciSFmCnJAD3SpnEaCIGTl3XhKsXaK%2FqWVxaZk5x%2BPt5%2F5BKypqLrmyOiqsq45H8%2FSyOYLE9VKPWL02YztJcFVNNNrOmeLOzcWbxqt7RPhgSanyZ9pXxXIBvqA9Uk91G2NN6TxP5gxcaTKMWAidLxhyYLiEO0XDRZZCDTg%2BkW1WNH2imjpGSlfR%2BhwI0lcMzdH7QRDDyB1jEKrNr%2Fcuy12mC2MMX61pFGzh5GSoO2s%2FS1eoPf9vSdPzrrBqqshDss3yBRWlPLa6GnTw9oxJ%2F7uQVizaur960rW7UOcsOzYg%3D%3D&encoding=UTF-8&version=0.0.1&signMethod=01

 

刚开始看到这一串数据的时候,我表示一脸懵逼,查了半天资料基本都是上传数据的时候如何转成formdata的,一无所获,最后我把这个问题抛到了一个技术群里面,没过多久 就收到了他们的回复,然后一试 果然可以,不然人家总说:读万卷书,不如行万里路,行万里路,不如高手指路。具体做法如何呢?如下:

from urllib.parse import unquote
str1 = "request_content=%7B%22merId%22%3A%22308999150570002%22%2C%22openId%22%3A%22o0xFV4wXFttZiHplNCvq9GGm8lrM%22%2C%22orderId%22%3A%2214233022%22%2C%22cmbOrderId%22%3A%22003219052720175970907079%22%2C%22userId%22%3A%22N002864744%22%2C%22txnAmt%22%3A%221%22%2C%22currencyCode%22%3A%22156%22%2C%22payType%22%3A%22WX%22%2C%22txnTime%22%3A%2220190527201844%22%2C%22endDate%22%3A%2220190527%22%2C%22endTime%22%3A%22201843%22%2C%22dscAmt%22%3A%220%22%7D&sign=MCMCKUgAv%2FIUIL3ceQ3gaFhUHPN4LMb8xBG2zOUaurdpciSFmCnJAD3SpnEaCIGTl3XhKsXaK%2FqWVxaZk5x%2BPt5%2F5BKypqLrmyOiqsq45H8%2FSyOYLE9VKPWL02YztJcFVNNNrOmeLOzcWbxqt7RPhgSanyZ9pXxXIBvqA9Uk91G2NN6TxP5gxcaTKMWAidLxhyYLiEO0XDRZZCDTg%2BkW1WNH2imjpGSlfR%2BhwI0lcMzdH7QRDDyB1jEKrNr%2Fcuy12mC2MMX61pFGzh5GSoO2s%2FS1eoPf9vSdPzrrBqqshDss3yBRWlPLa6GnTw9oxJ%2F7uQVizaur960rW7UOcsOzYg%3D%3D&encoding=UTF-8&version=0.0.1&signMethod=01"
lis1 = unquote(str1)
pay_dict = {}
for item in lis1:
    str2 = item.split('=')
    pay_dict[str2[0]] = str2[1]
print(pay_dict)

这样就实现了把formdata格式的字符串,转换成了python中常见的字典类型的格式了。

----------------------------------------------------------------------------------end ----------------------------------------------------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值