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 正则表达式(转义问题)
Dec 15 Python
Python计算三角函数之asin()方法的使用
May 15 Python
Python随机生成带特殊字符的密码
Mar 02 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
python编程嵌套函数实例代码
Feb 11 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
python实现维吉尼亚算法
Mar 20 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
selenium+超级鹰实现模拟登录12306
Jan 24 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 Token(令牌)设计
2008/03/15 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
py2exe 编译ico图标的代码
2013/03/08 Python
Python生成pdf文件的方法
2014/08/04 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
详解python对象之间的交互
2020/09/29 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
美国NBA官方商店:NBA Store
2019/04/12 全球购物
公务员年总结的自我评价
2013/10/25 职场文书
医学检验专业自荐信
2014/09/18 职场文书
交通事故和解协议书
2014/09/25 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
python_tkinter事件类型详情
2022/03/20 Python
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android