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 队列详解及实例代码
Oct 18 Python
浅谈Python类的__getitem__和__setitem__特殊方法
Dec 25 Python
python flask 多对多表查询功能
Jun 25 Python
Python分析学校四六级过关情况
Nov 22 Python
python 日志增量抓取实现方法
Apr 28 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
Python常见的pandas用法demo示例
Mar 16 Python
python图的深度优先和广度优先算法实例分析
Oct 26 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
python-地图可视化组件folium的操作
Dec 14 Python
python音频处理的示例详解
Dec 23 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缓存技术的使用说明
2011/08/06 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
pygame实现五子棋游戏
2019/10/29 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
python安装gdal的两种方法
2019/10/29 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
同程旅游英文网站:LY.com
2018/11/13 全球购物
建筑自我鉴定
2013/10/19 职场文书
成品仓管员工作职责
2013/12/29 职场文书
国家助学金获奖感言
2014/01/31 职场文书
敬老模范事迹
2014/05/21 职场文书
品牌服务方案
2014/06/03 职场文书
趣味运动会广播稿
2014/09/13 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
python 爬取华为应用市场评论
2021/05/29 Python
Python包argparse模块常用方法
2021/06/04 Python