Python Requests库基本用法示例


Posted in Python onAugust 20, 2018

本文实例讲述了Python Requests库基本用法。分享给大家供大家参考,具体如下:

requests是python的一个http client库,提供了一套简捷的API供开发者使用。下面简单介绍一下其安装和使用。这里是官方文档。

0 安装

pip install requests

1 发送请求

r=requests.get('https://www.baidu.com')
print r.status_code,r.text
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/head')
r=requests.options('http://httpbin.org/')

2 发送get参数

param={'key1':value1,'key2':value2}
r=requests.get('http://www.baidu.com/',params=param)

3 发送post参数

param={'key1':value1,'key2':value2}
r=requests.post('http://www.baidu.com/',params=param) #表单格式
r=requests.post('http://www.baidu.com/',json=param) #json格式数据
file= {'file':open('1.txt','rb')}
r=reuqest.post('http://httpbin.org/post',files=file)

4 文件下载

with open('1.pic','wb') as pic:
  for chunk in response.iter_content(size):
    pic.write(chunk)

5 携带header

header={'key1':value1,'key2':value2}
r=requests.get('http://www.baidu.com/',headers=header)

6 携带cookie

cookie={'key1':value1,'key2':value2}
r=requests.get('http://www.baidu.com/',cookies=cookie)

7 重定向

默认requests是允许重定向的,并将重定向的历史保存在response.history数组中
如果不需要重定向,可以通过开关来关闭

r=requests.get('http://www.baidu.com/',allow_redirects=False)

8 使用代理

使用socks代理需要安装三方扩展包

pip install requests[socks]
proxy={
  'http':'http://127.0.0.1:8000',
  'https':'https://127.0.0.1:8080'
  'http':'socks5://user:pass@127.0.0.1:8132'
}
r=requests.get('https://www.github.com/',proxies=proxy)

9 设置连接超时

r=requests.get('http://www.baidu.com/',timeout=2.5)

10 ssl证书

证书验证

requests.get('https://kennethreitz.com', verify=True)
requests.get('https://kennethreitz.com', cert=('/path/server.crt', '/path/key'))

如果指定本地证书及密钥,则密钥需要是解密的。

11 requests对象

r.url
r.text
r.headers

12 Response对象

response.request 对应的请求对象
response.raw socket上直接获得的数据
response.text 根据响应头进行解码的文本数据
response.content 不解码,返回二进制数据
response.json() 对返回数据进行json解码
response.headers 词典形式存储返回的headers
response.cookies 词典形式存储返回的cookies

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用rabbitmq实现网络爬虫示例
Feb 20 Python
python中sets模块的用法实例
Sep 30 Python
python根据文件大小打log日志
Oct 09 Python
Python 含参构造函数实例详解
May 25 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
python opencv读mp4视频的实例
Dec 07 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
解决Python使用列表副本的问题
Dec 19 Python
python爬虫用mongodb的理由
Jul 28 Python
详解Python中的路径问题
Sep 02 Python
Django中使用第三方登录的示例代码
Aug 20 #Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 #Python
分析python请求数据
Aug 19 #Python
浅谈django orm 优化
Aug 18 #Python
django连接mysql配置方法总结(推荐)
Aug 18 #Python
python画一个玫瑰和一个爱心
Aug 18 #Python
python爱心表白 每天都是浪漫七夕!
Aug 18 #Python
You might like
PHP实现读取一个1G的文件大小
2013/08/24 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jQuery技巧总结
2011/01/01 Javascript
javascript使用activex控件的代码
2011/01/27 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
wxPython实现列表增删改查功能
2019/11/19 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
python/golang 删除链表中的元素
2020/09/14 Python
Python项目打包成二进制的方法
2020/12/30 Python
密封类可以有虚函数吗
2014/08/11 面试题
运动会稿件300字
2014/02/14 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
python 爬取吉首大学网站成绩单
2021/06/02 Python
Python学习之迭代器详解
2022/04/01 Python