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实现的一个自动售饮料程序代码分享
Aug 25 Python
在Django中管理Users和Permissions以及Groups的方法
Jul 23 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
python 实现敏感词过滤的方法
Jan 21 Python
python安装scipy的方法步骤
Jun 26 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
opencv python Canny边缘提取实现过程解析
Feb 03 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
python等待10秒执行下一命令的方法
Jul 19 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
Pytorch DataLoader shuffle验证方式
Jun 02 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 随机生成10位字符代码
2009/03/26 PHP
php实现的CSS更新类实例
2014/09/22 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP7 标准库修改
2021/03/09 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
python 实现任务管理清单案例
2020/04/25 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
2020/08/05 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
一份Java笔试题
2012/02/21 面试题
小学语文业务学习材料
2014/06/02 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
技术入股合作协议书
2014/10/07 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
家长会后的感想
2015/08/11 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
Python图像处理库PIL详细使用说明
2022/04/06 Python
python内置模块之上下文管理contextlib
2022/06/14 Python