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标准算法实现数组全排列的方法
Mar 17 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
Django处理文件上传File Uploads的实例
May 28 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
python批量修改ssh密码的实现
Aug 08 Python
Python无头爬虫下载文件的实现
Apr 02 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python爬虫工具例举说明
Nov 30 Python
Python制作简单的剪刀石头布游戏
Dec 10 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python实现二叉查找树实例代码
2018/02/08 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
北承题目(C++)
2012/05/16 面试题
体现团队精神的口号
2014/06/06 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
入股协议书范本
2014/11/01 职场文书
领导参观欢迎词
2015/01/26 职场文书
前台接待员岗位职责
2015/04/15 职场文书
干部外出学习心得体会
2016/01/18 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
MySQL8.0的WITH查询详情
2021/08/30 MySQL
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python