在正常的测试中,当我们需要进行接口测试时,通常使用接口调试工具,如postman进行接口测试
目前我在尝试使用Go语言进行接口测试,使用的库均为Go自带的
http
库。
注:当前采用的接口为时事新闻接口,每天可以请求100次,需要的同学,可以自行使用。
接口文档说明
- 接口地址:http://v.juhe.cn/toutiao/index
- 返回格式:json
- 请求方式:get/post
- 请求示例:http://v.juhe.cn/toutiao/index?type=top&key=APPKEY
- 接口备注:返回头条(推荐)、国内,娱乐,体育,军事,科技,财经,时尚等新闻信息; 数据来源网络整理;
{
"国内": "guonei",
"国际": "guoji",
"娱乐": "yule",
"体育": "tiyu",
"军事": "junshi",
"科技": "keji",
"财经": "caijing",
"时尚": "shishang",
"游戏": "youxi",
"汽车": "qiche",
"健康": "jiankang"
}
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | string | 接口key |
type | 否 | string | 支持类型 top(推荐,默认) 其他字段如上 |
page | 否 | int | 当前页数, 默认1, 最大50 |
page_size | 否 | int | 每页返回条数, 默认30 , 最大30 |
is_filter | 否 | int | 是否只返回有内容详情的新闻, 1:是, 默认0 |
Go语言基础代码
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// POST请求地址
//urlPost := "http://v.juhe.cn/toutiao/index?"
// POST请求参数
// payload := strings.NewReader(`{
// "key": "cbce0769105c8f98e55da6a0a56ad6d0",
// "type": "tiyu",
// "page": 1,
// "page_size": 30,
// "is_filter": 0
//}`)
// GET请求地址
url := "http://v.juhe.cn/toutiao/index?key=cbce0769105c8f98e55da6a0a56ad6d0&type=tiyu&page=1&page_size=30&is_filter=0"
// 请求方式
method := "GET"
// 构造请求
client := &http.Client{}
// GET请求
req, err := http.NewRequest(method, url, nil)
// 抛出请求异常
if err != nil {
fmt.Println(err)
return
}
// 添加请求头部信息
req.Header.Add("Content-Type", "application/json")
//req.Header.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36")
// 发出请求
res, err := client.Do(req)
// 回收返回异常
if err != nil {
fmt.Println(err)
return
}
// 关闭请求连接
defer res.Body.Close()
// 获取返回体,并回收返回异常
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
}
// Json字符串格式化
var str bytes.Buffer
_ = json.Indent(&str, body, "", " ")
fmt.Println("data: ", str.String())
}