request模块的使用
Requests库的基础使用
Get/Post请求
Get请求
requests.get('http://www.baidu.com',参数)
Post请求
requests.post('http://www.baidu.com',参数)
0x01 .响应体内容
用法 | 解释 |
---|---|
r.encoding |
获取当前编码 |
r.encoding = ‘utf-8’ |
设置编码 |
r.text |
以encoding解析返回内容。字符串方式的响应体,会根据响应头部的字符编码进行解码 |
r.content |
以字节(二进制)返回。字节方式的响应体会自动为你解码gzip和deflate压缩 |
r.headers |
以字典对象存储服务器响应头,但是字典比较特殊,字典键不区分大小写,若键不存在,则返回None |
r.status_code |
响应状态码 特殊方法 |
r.json() |
Requests 中内置的json解码器,以json形式返回内容,确保json格式,不然解析出错会抛异常 |
r.raise_for_status() |
失败请求(非200响应) 抛出异常 |
0x02. 进阶应用
1.定制header/cookies 内容
header = {'user-agent':'User-Agent: Mozilla/5.0'}
cookie = {'key':'值'}
r.request.get/post('https://www.baidu.com',headers=header,cookies=cookie)
2.设置http代理
proxies = {'http':'120.79.212.174','https':'60.167.20.246'}
baidu = requests.get('https://www.baidu.com',proxies=proxies)
如果需要用户名密码验证
proxies = {'http':'username:password@120.79.212.174'}
baidu = requests.get('https://www.baidu.com',proxies=proxies)
3.基础身份认证
import requests
from requests.auth import HTTPBasicAuth
url = 'https://qiyuanxuetang.net/hidden-basic-auth/user/passwd'
r = requests.get(url=url,auth=HTTPBasicAuth('user','passwd')
# r = requests.get(url=url,auth=('user','passwd') //简写
print(r.json())
0x03.推荐阅读文章
- request模块的深入和使用
- request基本使用
也可以看看官方解释