Python2和Python3中urllib库中urlencode的使用注意事项


Posted in Python onNovember 26, 2018

前言

在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包位置有些不同。

对于Python2

Python2中提供了urllib和urllib2两个模块。

urlencode方法所在位置为:

urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典

例如模拟登陆CSDN网站,示例程序如下

import urllib2
values = {"username":"962457839@qq.com","password":"XXXX"}
data = urllib.urlencode(values) 
url = "https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn"
request = urllib2.Request(url,data)
response = urllib2.urlopen(request)
print response.read()

对于Python3

Python3中也有urllib和urllib3两个库,其中urllib几乎是Python2中urllib和urllib2两个模块的集合,所以我们最常用的urllib模块,而urllib3则作为一个拓展模块使用。

urlencode方法所在位置

urllib.parse.urlencode(values)

例如模拟登陆CSDN网站,示例程序如下:

from urllib import request
from urllib import parse
from urllib.request import urlopen
values = {'username': '962457839@qq.com', 'password': 'XXXX'}
data = parse.urlencode(values).encode('utf-8') # 提交类型不能为str,需要为byte类型
url = 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn'
request = request.Request(url, data)
response = urlopen(request)
print(response.read().decode())

ps:修复在python3中import winrandom错误问题

问题:在windows的python3使用PyCrypto出现ImportError: No module named 'winrandom'错误

处理:修改python3安装目录下的  lib/Crypto/Random/OSRNG/nt.py 文件中找到

import winrandom

修改为

from Crypto.Random.OSRNG import winrandom

总结

以上所述是小编给大家介绍的Python2和Python3中urllib库中urlencode的使用注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
编写Python脚本来实现最简单的FTP下载的教程
May 04 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
python实现括号匹配的思路详解
Aug 23 Python
Django异步任务之Celery的基本使用
Mar 23 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
Django ModelForm组件使用方法详解
Jul 23 Python
python 直接赋值和copy的区别详解
Aug 07 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
python实现PDF中表格转化为Excel的方法
Jun 16 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 #Python
Django2.1.3 中间件使用详解
Nov 26 #Python
django+echart绘制曲线图的方法示例
Nov 26 #Python
详解配置Django的Celery异步之路踩坑
Nov 25 #Python
利用Python如何实现一个小说网站雏形
Nov 23 #Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 #Python
python+selenium实现自动抢票功能实例代码
Nov 23 #Python
You might like
php项目打包方法
2008/02/18 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
python3 爬取图片的实例代码
2018/11/06 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
总结python中pass的作用
2019/02/27 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
学生的自我鉴定范文
2013/10/24 职场文书
教师师德反思材料
2014/02/15 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
小学优秀学生评语
2014/12/29 职场文书
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python