在python 2中,urlencode 函数归属于 urllib 模块,而不是 urllib2;而到了python 3,urllib 和 urllib2 已被合并为统一的 urllib 包,其中 urlencode 方法被迁移至 urllib.parse 子模块中。此外,该模块还新增了 quote 和 unquote 两个函数,分别用于对字符串进行url编码与解码操作,从而让中文等特殊字符在url中传输时更安全、更标准化,进一步增强了模块的功能完备性与使用便利性。
1、 打开IDLE开发环境,新建一个名为 urlencode.py 的脚本文件,并写入对应代码。
2、 示例中调用的是某和天气API接口,所用密钥仅为演示用途,不具备实际调用权限。

3、 按F5运行程序后,输出结果如下图所示。urlencode 可直接处理字典类型数据,将其中的中文键值自动转换为以 % 开头的UTF-8 URL编码格式,拼接成形如 key1=value1&key2=value2 的查询字符串;而 quote 则仅接受字符串参数,不支持字典结构,适用范围相对有限。

4、 接下来单独测试 quote 函数,相关代码已重新组织并更新。

5、 运行后打印结果显示,中文字符经 quote 编码后生成的编码串完全一致。另外还提供了一个 quote_plus 函数,它会对空格、斜杠 / 等更多特殊字符进行编码(空格转为 + 或 %20),具体行为取决于参数设置。实际项目中建议结合场景验证编码效果,避免因规则差异导致请求异常。

6、 修改代码逻辑,加入HTTP请求发送功能进行综合验证。

7、 再次按F5执行,终端输出如下图所示,表明请求构造与发送流程正常。

8、 若采用 quote 构造URL,则需手动完成参数拼接工作,同时注意响应内容可能为字节流,须显式调用 .decode() 方法进行解码,参考示例代码如下:

9、 F5运行该段代码,最终输出结果准确无误。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











