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 28 Python
python实现旋转和水平翻转的方法
Oct 25 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
pytorch 输出中间层特征的实例
Aug 17 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
django自带的权限管理Permission用法说明
May 13 Python
python能自学吗
Jun 18 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
python3实现简单飞机大战
Nov 29 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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 无线电
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
Python入门篇之文件
2014/10/20 Python
python通过smpt发送邮件的方法
2015/04/30 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python实现通讯录功能
2018/02/22 Python
Django框架表单操作实例分析
2019/11/04 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
复古服装:RetroStage
2019/05/10 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
腾讯广告词
2014/03/19 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL