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的web框架中的Model的教程
Apr 29 Python
python更新列表的方法
Jul 28 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
对python append 与浅拷贝的实例讲解
May 04 Python
selenium+python实现自动化登录的方法
Sep 04 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
python二维键值数组生成转json的例子
Dec 06 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
Python 实现键盘鼠标按键模拟
Nov 18 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 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
CentOS安装php v8js教程
2015/02/26 PHP
js代码实现微博导航栏
2015/07/30 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Python 函数基础知识汇总
2018/03/09 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
用python制作个音乐下载器
2021/01/30 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
给护士表扬信
2014/01/19 职场文书
春节联欢会策划方案
2014/05/16 职场文书
消防安全承诺书
2014/05/22 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
客户答谢会致辞
2015/01/20 职场文书
公司放假通知范文
2015/04/14 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书