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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
python实现神经网络感知器算法
Dec 20 Python
python3处理含有中文的url方法
May 10 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
Python实现打砖块小游戏代码实例
May 18 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
在pycharm中创建django项目的示例代码
May 28 Python
深入了解Python 变量作用域
Jul 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 MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python实现读取并保存文件的类
2017/05/11 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
C++面试题目
2013/06/25 面试题
2014社区三八妇女节活动方案
2014/03/30 职场文书
大学生党员自我评价
2015/03/04 职场文书
中标通知书范本
2015/04/17 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL