【Go语言】使用 http 库进行简单的接口测试

本文介绍了如何利用Go语言的http库进行简单的接口测试。通过接口文档说明,理解接口地址、请求方式和返回格式,如GET请求示例:http://v.juhe.cn/toutiao/index?...;在Go中实现接口调用,获取并解析json数据,以完成对接口的测试和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Go语言进行简单的接口测试


在正常的测试中,当我们需要进行接口测试时,通常使用接口调试工具,如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"
}
名称必填类型说明
keystring接口key
typestring支持类型 top(推荐,默认) 其他字段如上
pageint当前页数, 默认1, 最大50
page_sizeint每页返回条数, 默认30 , 最大30
is_filterint是否只返回有内容详情的新闻, 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())
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Warolitbos

如果有帮助,请我喝咖啡!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值