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实现获取操作系统版本信息方法
Apr 08 Python
Python的净值数据接口调用示例分享
Mar 15 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
Mar 05 Python
python等待10秒执行下一命令的方法
Jul 19 Python
python实现进度条的多种实现
Apr 29 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/01 无线电
php2html php生成静态页函数
2008/12/08 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python编写百度贴吧的简单爬虫
2015/04/02 Python
Python中字符串的处理技巧分享
2016/09/17 Python
python基于Selenium的web自动化框架
2019/07/14 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python创建n行m列数组示例
2019/12/02 Python
如何通过python实现人脸识别验证
2020/01/17 Python
python中安装django模块的方法
2020/03/12 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
后勤人员自我评价怎么写
2013/09/19 职场文书
班级入场式解说词
2014/02/01 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
工商行政处罚决定书
2015/06/24 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
利用python做表格数据处理
2021/04/13 Python
Python中requests做接口测试的方法
2021/05/30 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python
Django框架之路由用法
2022/06/10 Python