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系列之从文件读取和保存数据
May 23 Python
Python实现微信公众平台自定义菜单实例
Mar 20 Python
TensorFlow损失函数专题详解
Apr 26 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
python解释器spython使用及原理解析
Aug 24 Python
python django生成迁移文件的实例
Aug 31 Python
python 计算积分图和haar特征的实例代码
Nov 20 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
python 代码运行时间获取方式详解
Sep 18 Python
python 调用API接口 获取和解析 Json数据
Sep 28 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防注入漏洞过滤函数代码
2012/04/11 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
不懂JavaScript应该怎样学
2008/04/16 Javascript
js left,right,mid函数
2008/06/10 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
python strip()函数 介绍
2013/05/24 Python
python迭代器的使用方法实例
2013/11/21 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
Python partial函数原理及用法解析
2019/12/11 Python
Python 串口通信的实现
2020/09/29 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
验房委托书
2014/08/30 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
《三国志》赏析
2019/08/27 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang