python requests
requests 库 用来进行http 请求的第三方库,接口自动化测试、爬虫、基本都可以用该库来进行,用法多种多样,实战中也需要与其它库搭配起来共同使用。
首先基本用法:
1、requests.get / post / put 方法进行普通的请求:
eg:
resp = requests.get(url=url,cookies=cookies,params=data,headers=headers,verify=Fal
se,timeout=(5,30))
其中 url 为默认请求地址
params 为 请求字段内容 字典格式
hearders 在实际应用中比较复杂,具体在进阶中运用
另外针对结果我们可以用:
resp.url 请求url地址
resp.tex 响应内容(所有)
resp.status 响应状态码
进阶内容:
1、头文件自定义:
现实应用,头文件总是不能省略和内容较多的情况所以需要自定义头文件内容,方法是:通过字典来手动定义
ifheadersisNone:
headers = {
'Accept':'*/*',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Cache-Control':'max-age=0',
'X-Requested-With':'XMLHttpRequest',
'Connection':'close',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64)
}
2、token(cookie)通过头文件来运用
现实中cookie的用法 部分通过头文件携带链接来实现,因此可以用手动带入的方法来实现。
ifheadersisNone:
headers = {
'Accept':'*/*',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Cache-Control':'no-cache',
'Connection':'keep-alive',
'Cookie':'SASID='+cookie,
'Host':domain[8:],
'Origin': domain,
'Pragma':'no-cache',
'Referer': domain,
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64)
}
3、综合应用:
项目中根据实际应用重新封装 requests 请求
defhttp_request(url,method,data,headers =None,cookies =None,files =None):
headers =None
resp=None
error_str =None
text =None
surl =None
try:
ifmethod =="GET":
result = requests.get(url=url,cookies=cookies,params=data,headers=hea
ders,verify=False,timeout=(5,30))
elifmethod =="POST":
result = requests.post(url=url,cookies=cookies,data=data,headers=head
ers,verify=False,timeout=(5,60),files=files)
text = result.text
surl = result.url
4、异常捕获
可以根据该库自带的方法来抓取,再进行异常捕获,重点语句:requests.
raise_for_status
resp = result.raise_for_status()
抛出的异常有:请求超时、最大重定向次数、http错误、请求异常等
exceptTimeoutasresp:
error_str ="Timeout Error:"+str(resp)
exceptTooManyRedirectsasresp:
error_str ="TooManyRedirects Error:"+str(resp)
exceptHTTPErrorasresp:
error_str ="HTTP Error:"+str(resp)
exceptRequestExceptionasresp:
error_str ="RequestException:"+str(resp)
exceptExceptionasresp:
error_str ="Unknow Error:"+str(resp)
领取专属 10元无门槛券
私享最新 技术干货