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的dict字典结构操作方法学习笔记
May 07 Python
Python三级目录展示的实现方法
Sep 28 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
python从子线程中获得返回值的方法
Jan 30 Python
Tensorflow分批量读取数据教程
Feb 07 Python
python实现信号时域统计特征提取代码
Feb 26 Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 Python
Python实现爬取网页中动态加载的数据
Aug 17 Python
python Tkinter的简单入门教程
Apr 11 Python
七个Python必备的GUI库
Apr 27 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php限制文件下载速度的代码
2015/10/20 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
Python实现的一个简单LRU cache
2014/09/26 Python
编写Python CGI脚本的教程
2015/06/29 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
家长给幼儿园的表扬信
2014/01/09 职场文书
运动会邀请函范文
2014/02/06 职场文书
奠基仪式策划方案
2014/05/15 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
学校团代会开幕词
2016/03/04 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python