requests接口自动化

2020-03-03  本文已影响0人  清水秋香
参数\函数 Get Post Put Delete
url
params
data
json
headers
cookies

⚠️值得注意的是,注意字典中嵌套的字典,被嵌套的字典也可能被转换成表单

import requests
r = requests.get('http://www.baidu.com/')
r.encoding="utf-8"
print(r.text)
import requests
# action=list_course&pagenum=1&pagesize=20
payload = {
    'action':'list_course',
    'pagenum':1,
    'pagesize':20
}
# params会把字典中的参数变成表单格式放在url后面
r = requests.get('http://localhost:80/api/mgr/sq_mgr/',params=payload)
print(r.text)
import requests
header = {
    "Content-Type":"application/x-www-form-urlencoded"
}
payload = {
    'action':'add_course',
    'data':{"name":"初中化学","desc":"初中化学课程","display_idx":"100"}
}
r = requests.post('http://localhost:80/api/mgr/sq_mgr/',headers=header,data=payload)
print(r.text)
#排错方式:
#如果报错可以使用fiddler抓包进行排错,将请求提复制到url解码器进行解码,然后到json格式化,进行格式化看是否会出错。第二种方式在网页发起请求,使用fiddler抓包
#然后逐项对比,将错误的头和正确的请求体,在fiddler中发起请求,看是否有错误。
import requests
header = {'Content-Type':'application/json'}
payload="""
{
  "action" : "add_course_json",
  "data": {
    "name":"初中化学1",
    "desc":"初中化学课程",
    "display_idx":"98"
  }
}
"""
r = requests.post('http://localhost:80/apijson/mgr/sq_mgr/',data=payload.encode('utf8'),headers=header)
print(r.text)
import requests
header = {'Content-Type':'application/json'}
payload={
  "action" : "add_course_json",
  "data": {
    "name":"初中化学2",
    "desc":"初中化学课程",
    "display_idx":"98"
  }
}
r = requests.post('http://localhost:80/apijson/mgr/sq_mgr/',json=payload,headers=header)
print(r.text)#文本相应内容获取网页html文档的时候用
#二进制的格式
print(r.content)#字节响应内容   下载图片或文件的时候用
print(r.raw)#原始格式
#如果r返回的不是json会报异常
#接口文档中写了,返回json格式的消息体,才能用json
print(r.json())#字典格式
四种返回格式 说明 用处
r.text:文本响应内容 返回字符串类型 获取网页html时用
r.content:字节响应内容 返回字节类型 下载图片或文件时用
r.json():Json 解码响应内容 返回字典格式 明确服务器返回json数据才能用
r.raw:原始响应内容 返回原始格式
上一篇 下一篇

猜你喜欢

热点阅读