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 查找文件夹下所有文件 实现代码
Jul 01 Python
Python类的定义、继承及类对象使用方法简明教程
May 08 Python
在Python中处理时间之clock()方法的使用
May 22 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
python从子线程中获得返回值的方法
Jan 30 Python
python视频按帧截取图片工具
Jul 23 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
Python银行系统实战源码
Oct 25 Python
Python坐标线性插值应用实现
Nov 13 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
python使用yaml 管理selenium元素的示例
Dec 01 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魔术方法的使用示例
2015/06/23 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
7个JS基础知识总结
2014/03/05 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
详解js中==与===的区别
2017/01/08 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
python解析xml文件实例分析
2015/05/27 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
升职自荐书范文
2013/11/28 职场文书
高中体育教学反思
2014/01/24 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
善意的谎言事例
2014/02/15 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
Python办公自动化解决world文件批量转换
2021/09/15 Python