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 11 Python
在Python中调用ggplot的三种方法
Apr 08 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
基于python实现高速视频传输程序
May 05 Python
Python Web框架之Django框架文件上传功能详解
Aug 16 Python
Python发送邮件的实例代码讲解
Oct 16 Python
Python IDLE或shell中切换路径的操作
Mar 09 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
详解python中的json和字典dict
2018/06/22 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
大学生旅游业创业计划书
2014/01/29 职场文书
大学校运会广播稿
2014/02/03 职场文书
色戒观后感
2015/06/12 职场文书
如何写通讯稿
2015/07/22 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server