码迷,mamicode.com
首页 > Web开发 > 详细

urllib模块中parse函数中的urlencode和quote_plus方法

时间:2018-02-12 16:47:49      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:appid   trade   效果   pre   ota   模块   字符串转换   数字   介绍   

本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下:

>>>params = {
            "appid": 1,
            "mch_id": 1,
            "body": 1,
            "out_trade_no": 1,
            "total_fee": 1,
            "spbill_create_ip": 1,
            "notify_url": 1,
            "trade_type": 1,
            "nonce_str": 1
        }
>>>parse.urlencode(params)
appid=1&mch_id=1&body=1&out_trade_no=1&total_fee=1&spbill_create_ip=1&notify_url=1&trade_type=1&nonce_str=1

如果加以改造,就可以直接应到生成微信支付的拼接字符串当中了:

>>>parse.urlencode([(k, params[k]) for k in sorted(params)])
appid=1&body=1&mch_id=1&nonce_str=1&notify_url=1&out_trade_no=1&spbill_create_ip=1&total_fee=1&trade_type=1
>>>[(k, params[k]) for k in sorted(params)]
[(appid, 1), (body, 1), (mch_id, 1), (nonce_str, 1), (notify_url, 1), (out_trade_no, 1), (spbill_create_ip, 1), (total_fee, 1), (trade_type, 1)]

然后就是quote_plus了,使用了一下发现这个方法是将一些特殊的字符串转换为固定的一些符号字母数字组合,例如:

>>>parse.quote_plus(a&b/c)
a%26b%2Fc

其中的&和/都分别变为了%26b和%2F,还有更多的一些符号变化就先不去一一尝试了。

urllib模块中parse函数中的urlencode和quote_plus方法

标签:appid   trade   效果   pre   ota   模块   字符串转换   数字   介绍   

原文地址:https://www.cnblogs.com/zzy0306/p/8444614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!