文章目录
requests使用方法详解
安装requests
进入命令行win+R执行
C:\Users>pip install requests
# 出现超时可使用国内的源进行安装默认使用的是 https://pypi.org/simple
C:\Users>pip install -i https://pypi.douban.com/simple/ requests
GET请求方法
对于get请求来讲,参数暴漏在url中,默认使用params进行参数传递
import requests
res = requests.get(url='https://baidu.com',params={'kw':"haha"})
#查看请求的url
print (res.request.url)
POST请求方法
content-type
对于post进行发送请求,参数传递更加安全但是传递的参数需要定义使用的类型
import requests
#对于content-type=urlencoded
res = requests.post(url='https://baidu.com',data={'kw':"haha"})
#对于content-type=application/json
res = requests.post(url='https://baidu.com',json={'kw':"haha"})
定制化header
import requests
#消息中传递header
res = requests.post(url='https://baidu.com',data={'kw':"haha"},headers={'X-Requested-With': 'XMLHttpRequest'})
#对于content-type=application/json
res = requests.post(url='https://baidu.com',json={'kw':"haha"},headers={'X-Requested-With': 'XMLHttpRequest'})
进阶方法
接口传递需要保持session
import requests
#实例化保持session
re =requests.Session()
#使用保持session的实例化进行数据传递,可将session进行保持
res = re.post(url='https://baidu.com/login',data={'kw':"haha"})
#自动进行session数据的传递
res = re.post(url='https://baidu.com/save.html',data={'kw':"haha"})
准备的请求
API中收到Response对象。requests其实使用了PrepareRequest,有时候在发送请求前,我们需要对body或者header做一些处理
from requests import Request,Session
s= Session()
#进行类的实例化传入的参数可以进行处理
req = Request('GET', url,data=data, headers=header)
#session保持的前置准备
pre =s.prepare_request(req)
#发送
res = s.send(pre,timeout=timeout)
response处理
import requests
#实例化保持session
re =requests.Session()
#使用保持session的实例化进行数据传递,可将session进行保持
res = re.post(url='https://baidu.com/login',data={'kw':"haha"})
#获取响应的文本
print (res.text)
#获取响应的响应头
print (res.headers)
#解析响应的json格式的数据
print (res.json())
小结
当然request的用法不止这些但是这些就大概满足日常所需了,有需要可以查看官方帮助文档