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 相关文章推荐
python3实现短网址和数字相互转换的方法
Apr 28 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
详解Pandas之容易让人混淆的行选择和列选择
Jul 10 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
详解Python openpyxl库的基本应用
Feb 26 Python
用Python进行栅格数据的分区统计和批量提取
May 27 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语法(1)
2006/10/09 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
高考自主招生自荐信
2013/10/20 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
会计实习生自我鉴定
2013/12/12 职场文书
工作的心得体会
2013/12/31 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年项目工作总结
2015/04/29 职场文书
幸福终点站观后感
2015/06/04 职场文书