本文实例讲述了Python Requests库基本用法。分享给大家供大家参考,具体如下:
requests是python的一个http client库,提供了一套简捷的API供开发者使用。下面简单介绍一下其安装和使用。这里是官方文档。
0 安装
1
|
pip install requests |
1 发送请求
1
2
3
4
5
6
7
|
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参数
1
2
|
param = { 'key1' :value1, 'key2' :value2} r = requests.get( 'http://www.baidu.com/' ,params = param) |
3 发送post参数
1
2
3
4
5
|
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 文件下载
1
2
3
|
with open ( '1.pic' , 'wb' ) as pic: for chunk in response.iter_content(size): pic.write(chunk) |
5 携带header
1
2
|
header = { 'key1' :value1, 'key2' :value2} r = requests.get( 'http://www.baidu.com/' ,headers = header) |
6 携带cookie
1
2
|
cookie = { 'key1' :value1, 'key2' :value2} r = requests.get( 'http://www.baidu.com/' ,cookies = cookie) |
7 重定向
默认requests是允许重定向的,并将重定向的历史保存在response.history
数组中
如果不需要重定向,可以通过开关来关闭
1
|
r = requests.get( 'http://www.baidu.com/' ,allow_redirects = False ) |
8 使用代理
使用socks代理需要安装三方扩展包
1
|
pip install requests[socks] |
1
2
3
4
5
6
|
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 设置连接超时
1
|
r = requests.get( 'http://www.baidu.com/' ,timeout = 2.5 ) |
10 ssl证书
证书验证
1
2
|
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程序设计有所帮助。
原文链接:https://blog.csdn.net/zzulp/article/details/69240454