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变量和数据类型详解
Feb 15 Python
pyqt5简介及安装方法介绍
Jan 31 Python
python如何实现反向迭代
Mar 20 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
小程序实现留言板
2018/11/02 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
三方股份合作协议书
2014/10/13 职场文书
教师学期个人总结
2015/02/11 职场文书
汽车车尾标语大全
2015/08/11 职场文书
考研经验交流会策划书
2015/11/02 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
深入解析MySQL索引数据结构
2021/10/16 MySQL
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers