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中的字典详细介绍
Sep 18 Python
Python 常用string函数详解
May 30 Python
Python中enumerate函数代码解析
Oct 31 Python
Python反射的用法实例分析
Feb 11 Python
Python实现线程状态监测简单示例
Mar 28 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
Django 中使用流响应处理视频的方法
Jul 20 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
python分别打包出32位和64位应用程序
Feb 18 Python
python 实现朴素贝叶斯算法的示例
Sep 30 Python
python脚本定时发送邮件
Dec 22 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
咖啡知识大全
2021/03/03 新手入门
dedecms中使用php语句指南
2014/11/13 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
js控制框架刷新
2008/08/01 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
python正则表达式re模块详解
2014/06/25 Python
Python中正则表达式的用法实例汇总
2014/08/18 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python中list列表的高级函数
2016/05/17 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
《夸父追日》教学反思
2014/02/26 职场文书
初中班主任寄语
2014/04/04 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
北京故宫导游词
2015/01/31 职场文书
大学生党课感想
2015/08/11 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
mysql sock 文件解析及作用讲解
2022/07/15 MySQL