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 字符串格式化代码
Mar 17 Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
python中遍历文件的3个方法
Sep 02 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
详解python中的模块及包导入
Aug 30 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
Python函数基本使用原理详解
Mar 19 Python
基于python图像处理API的使用示例
Apr 03 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获取http请求的头信息实现步骤
2012/12/16 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
php swoft框架实例用法
2020/12/22 PHP
Js+XML 操作
2006/09/20 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
python常用知识梳理(必看篇)
2017/03/23 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python 字典中取值的两种方法小结
2018/08/02 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
蹦床仓库:Trampoline Warehouse
2018/12/06 全球购物
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
Java基础知识面试要点
2016/07/29 面试题
运动会广播稿30字
2014/01/21 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
高一新生军训感言
2014/03/02 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
个人综合鉴定材料
2014/05/23 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python
一文搞懂Python Sklearn库使用
2021/08/23 Python