python中URL转换会使用urlencode
,一般用法如下所示:
|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4
| from urllib.parse import urlencode params = {"value": "english", "page": 1, "desc": "英语"} print(urlencode(params)) #输出:value=english&page=1&desc=%E8%8B%B1%E8%AF%AD
|
如果仅对一个普通字符串,使用urlencode
,则提示以下内容:
|-----------|----------------------------------------------------------------------|
| 1
| TypeError: not a valid non-string sequence or mapping object
|
翻译过来:
类型错误:不是有效的非字符串序列或映射
也就是说urlencode
只能转字典这类型的。如果一定要去转字符串,则应该使用:quote
,使用示例如下:
|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5
| from urllib.parse import quote print(quote("中国123")) #输出:%E4%B8%AD%E5%9B%BD123 print(quote("中国123", encoding="GBK")) #输出:%D6%D0%B9%FA123
|
参考链接:https://blog.csdn.net/yzx99/article/details/126568279