Python学习笔记之——requests库
requests库一个优雅而简单的用于Python的HTTP库,可以极大的简化我们发送http请求及获取响应的代码。
requests是python的第三方库,所以使用之前需要先安装。
1、安装之后就可导入requests模板使用
import requests
2、requests发送请求
r = requests.get('https://github.com/timeline.json')
r = requests.post("http://httpbin.org/post")
r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")
3、传递 URL 参数
有些请求是有参数的。比如 httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:
#coding:utf-8
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
print r.url
执行结果:
http://httpbin.org/get?key2=value2&key1=value1
注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。
你还可以将一个列表作为值传入:
#coding:utf-8
import requests
payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=payload)
print r.url
执行结果:
http://httpbin.org/get?key2=value2&key2=value3&key1=value1
4、响应内容
举例:
#coding: utf-8
import requests
#发请求和传参
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
#打印请求返回的status_code
print r.status_code
#打印请求返回的headers
print r.headers
#打印请求头里面的content-type
print r.headers['content-type']
#打印编码
print r.encoding
#打印请求返回的文本
print r.text
#将请求响应的json字符串转换成了python的dict
print r.json()
执行结果:
403
{'Status': '403 Forbidden', 'X-RateLimit-Remaining': 。。。。
application/json; charset=utf-8
utf-8
{"message":"Maximum number of login attem。。。。。
{u'documentation_url': u'https://developer.。。。。。
上面的例子里,我们将响应的json字符串转换成了python的dict
总结:
官方中文文档说明:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
Python学习笔记之——requests库的更多相关文章
- PYTHON 爬虫笔记三:Requests库的基本使用
		
知识点一:Requests的详解及其基本使用方法 什么是requests库 Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库,相比u ...
 - python学习笔记(requests)
		
昨天用jmeter尝试了下接口测试 在部分接口中要上传文件这里遇到了问题.今天改用python的requests框架试下 先简单的写了个登录的接口.本人初学者,第一次写接口脚本 #!/usr/bin/ ...
 - Python爬虫学习笔记-2.Requests库
		
Requests是Python的一个优雅而简单的HTTP库,它比Pyhton内置的urllib库,更加强大. 0X01 基本使用 安装 Requests,只要在你的终端中运行这个简单命令即可: pip ...
 - python学习笔记(自定义库文件路径)
		
博主最近在弄接口自动化.主要是基于python自带的unittest框架.包括 Pubilc模块定义所有接口. Main模块根据业务需求重新封装接口便于测试. config文件导入测试业务的固定参数. ...
 - 【Python学习笔记】Pandas库之DataFrame
		
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
 - Python 学习笔记之—— PIL 库
		
PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库.但是,由于 PIL 仅支持到Python 2.7,加上年久失修,于是一群志愿 ...
 - 吴裕雄--天生自然python学习笔记:beautifulsoup库的使用
		
Beautiful Soup 库简介 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 ...
 - python学习,使用requests库来模拟登录github,post请求。
		
这次我们要模拟登录的页面是 https://github.com/login 首先我们先尝试着登陆一遍分析一下请求, 打开开发者工具下的network选项, 可以很清楚的看到这个会话session,而 ...
 - python学习笔记(5)-time库的使用
		
import time 一.时间获取函数 time(), ctime(),gmtime() >>> import time >>> time.time() 1524 ...
 
随机推荐
- IntelliJ IDEA导入多个eclipse项目到同一个workspace下
			
IntelliJ IDEA 与eclipse在新建项目上工作区的叫法略有不同,区别见下图. 我们在eclipse都是在新建的workspace目录下新建我们的项目,但是在IDEA中没有workspac ...
 - 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
			
在配置MongDB的是时候出现这/lib/ld-linux.so.2问题 [root@localhost local]# /usr/local/mongodb/mongodb/bin/mongod - ...
 - wordpress获取文章所属分类
			
1.获取全部分类 <?php foreach((get_the_category()) as $category){ echo $category->cat_name; } ?> 2 ...
 - 在linux下实现mysql自动备份数据
			
使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...
 - MathType试用期到了如何继续用
			
1,卸载原来的MathType(不知道需不需要,其实删不删应该无所谓吧) 2,删除注册表中的一个值(不是默认,而是另外一个值) HKEY_CURRENT_USER\Software\Install O ...
 - “网红架构师”解决你的Ceph 运维难题
			
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由Tstack发表于云+社区专栏 本文为长篇连续剧,将分多个篇幅发表,主要介绍了从动手部署环境到后期运营故障处理过程中常见的问题,内容由 ...
 - 使用area标签模仿a标签
			
众所周知,map标签可以给img图像标记热点区域,而area标签就是跟map标签一起使用的. 但area标签的作用可不止用来标记热点,因为它也有href属性,因此某些场景可以代替a标签进行页面跳转. ...
 - springboot 单体架构之shiro集成
			
这里使用的是eclipse 开发工具 1.springboot 版本是2.0的,引入了2个shiro 的依赖,如下 <parent> <groupId>org.springfr ...
 - C# int? 关键字
			
1.int? 关键字说明 (1).int? 表示一个int类型,且该int类型可空,如果不加?的话,那么int类型的默认值为0,不能赋null值,代码如下: int aa = null; (2).当 ...
 - winform窗体    小程序【三级联动】
			
三级联动[省,市,区] 类似地区选择,当选的某个省份,后面的下拉框相对变成对应省份的区县 实现省市区联动关键是数据库的表,[每个省内区的AreaCode列是同样的] public Form2() { ...