urllib模块是python自带的,直接调用就好,用法如下:

 1 #处理get请求,不传data,则为get请求
2 import urllib
3 from urllib.request import urlopen
4 from urllib.parse import urlencode
5 url='http://127.0.0.1:1990/login'
6 data={"username":"admin","password":123456}
7 req_data=urlencode(data)#将字典类型的请求数据转变为url编码
8 res=urlopen(url+'?'+req_data)#通过urlopen方法访问拼接好的url
9 res=res.read().decode()#read()方法是读取返回数据内容,decode是转换返回数据的bytes格式为str
10 print(res)
11
12 #处理post请求,如果传了data,则为post请求
13 import urllib
14 from urllib.request import urlopen
15 from urllib.request import Request
16 from urllib.parse import urlencode
17 url='http://127.0.0.1:1990/login'
18 data={"username":"admin","password":123456}
19 data=urlencode(data)#将字典类型的请求数据转变为url编码
20 data=data.encode('ascii')#将url编码类型的请求数据转变为bytes类型
21 req_data=Request(url,data)#将url和请求数据处理为一个Request对象,供urlopen调用
22 with urlopen(req_data) as res:
23 res=res.read().decode()#read()方法是读取返回数据内容,decode是转换返回数据的bytes格式为str
24 print(res)

  相比较urllib模块,requests模块要简单很多,具体用法如下:

 1 # get请求
2 import requests
3 url='http://127.0.0.1:1990/login'
4 data={"username":"admin","password":123456}
5 res=requests.get(url,data)#直接用requests.get(url,data)即可,其中.get表示为get方法,不需要对字典类型的data进行处理
6 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
7 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
8 print(res)
9
10 #post请求
11 import requests
12 url='http://127.0.0.1:1990/login'
13 data={"username":"admin","password":123456}
14 res=requests.post(url,data)#直接用requests.post(url,data)即可,其中.post表示为post方法,不需要对字典类型的data进行处理
15 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
16 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
17 print(res)
18
19 #当传参格式要求为json串时
20 import requests
21 url='http://127.0.0.1:1990/login'
22 data={"username":"admin","password":123456}
23 res=requests.post(url,json=data)#只需要在这里指定data为json即可
24 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
25 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
26 print(res)
27
28 #传参含cookie
29 import requests
30 url='http://127.0.0.1:1990/login'
31 data={"username":"admin","password":123456}
32 cookie={"sign":"123abc"}
33 res=requests.post(url,json=data,cookies=cookie)#只需要在这里指定cookies位cookie即可,headers,files等类似
34 res=res.json()
35 print(res)

  显而易见,requests模块要方便很多,建议大家使用requests模块。

python3 urllib和requests模块的更多相关文章

  1. python3 urllib及requests基本使用

    在python中,urllib是请求url连接的标准库,在python2中,分别有urllib和urllib,在python3中,整合成了一个,称谓urllib 1.urllib.request re ...

  2. Python 网络请求模块 urllib 、requests

    Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib.requests这两个模块. urlib 介绍 urllib.request 提供了一个 urlopen 函 ...

  3. python爬虫之requests模块介绍

    介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...

  4. 爬虫 requests 模块

    requests 模块 介绍 使用requests可以模拟浏览器的请求, 比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) ps: requests库发 ...

  5. 请求库之requests模块

    本片导航: 介绍 基于GET请求 基于POST请求 响应Response 高级用法   一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的a ...

  6. 爬虫----requests模块

    一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内 ...

  7. 02 请求库之 requests模块

    requests模块   一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requ ...

  8. 三、请求库之requests模块

    一 介绍   #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网 ...

  9. python-爬虫之requests模块介绍(登陆github)

    介绍 使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 注意 requests库发送请求将网页内容下载下来以后 ...

随机推荐

  1. java实现简单计算器功能

    童鞋们,是不是有使用计算器的时候,还要进入运行,输入calc,太麻烦了,有时候甚至还忘记单词怎么拼写,呵呵程序员自己写代码实现,又简单,又方便啊 以下为代码(想要生成可执行工具可参考:http://w ...

  2. vector基础操作

    //vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组.其中T为需要储存的数据类型 //初始时vec为空 //push_back 末尾添加一个元素 //po ...

  3. Python3集成安装xadmin

    Python3集成安装xadmin1:创建虚拟环境C:\Users\Adminstrator>mkvirtualenv -p C:\Python34\python.exe MyDjango如果提 ...

  4. 使用DOM对表格进行增删

    ---恢复内容开始--- 声明本文旨在练习dom 其中可以链接数据 或者使用ajax 实现的我全用的dom因为我在学dom. 一. 表格构建 <section id="section_ ...

  5. 方别《QQ群霸屏技术》,又见《QQ群建群细则》

    规则,时刻变动;QQ群系列,咱们再来一轮. QQ群霸屏技术,你说建群貌似很菜,大家仿佛都知道,其实只知其一不知其二. QQ群类别 群分类,常规的就以下几种. 普通群. 建群随意,偏个性化,一言不合就拉 ...

  6. Python学习之property

    Python中使用Property函数可以将类中的函数当作属性来调用. 案例 __metaclass__=type class Rectangle: def __init__(self): self. ...

  7. spring配置jackson不返回null值

    #json不返回null spring.jackson.default-property-inclusion=non_null

  8. R语言绘图:词云图

    使用wordcloud2绘制词云图 library(wordcloud2) findwords<-function(tf){ txt<-scan(tf,"") wl&l ...

  9. Uber CEO博鳌论坛采访:看好中国市场共享经济的发展模式

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. linux安装oracle远程客户端

    文章参考:http://blog.csdn.net/caomiao2006/article/details/11901123 感谢博友分享O(∩_∩)O~ 安装oracle 远程客户端(一般情况下本地 ...