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中用split()方法分割字符串的使用介绍
May 20 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
python协程之动态添加任务的方法
Feb 19 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
Python实现转换图片背景颜色代码
Apr 30 Python
Python3实现建造者模式的示例代码
Jun 28 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
利用python进行文件操作
Dec 04 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反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
JavaScript知识点整理
2015/12/09 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
使用js获取伪元素的content实例
2017/10/24 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
python的concat等多种用法详解
2018/11/28 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
用python解压分析jar包实例
2020/01/16 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
应聘自荐信
2013/12/14 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
车间核算员岗位职责
2014/07/01 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
地道战观后感500字
2015/06/04 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书