【一、http】go的http基本请求方法

1、http的基本请求

cpp 复制代码
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"net/url"
)


func post(){
	r, err := http.Post("http://httpbin.org/post", "", nil)
	if err != nil {
		fmt.Println("ss")
	}
	defer r.Body.Close()
	content, err := io.ReadAll(r.Body)
	if err != nil {
		fmt.Println("ss")
	}
	fmt.Printf("%s", content)
}

func get(){
	r, err := http.Get("http://httpbin.org/get")
	if err != nil {
		fmt.Println("ss")
	}
	defer r.Body.Close()
	content, err := io.ReadAll(r.Body)
	if err != nil {
		fmt.Println("ss")
	}
	fmt.Printf("%s", content)
}

//http只提供了get和post的基本请求,其他的情况不存在,因此,需要自己发起请求,构造方法
func put(){
	requst, err := http.NewRequest(http.MethodPut, "http://httpbin.org/put", nil)
	if err != nil {
		fmt.Println("ss")
	}
	r, err := http.DefaultClient.Do(requst)
	if err != nil {
		fmt.Println("ss")
	}

	defer r.Body.Close()
	content, err := io.ReadAll(r.Body)
	if err != nil {
		fmt.Println("ss")
	}
	fmt.Printf("%s", content)

}

func deletets(){
	requst, err := http.NewRequest(http.MethodDelete, "http://httpbin.org/delete", nil)
	if err != nil {
		fmt.Println("ss")
	}
	r, err := http.DefaultClient.Do(requst)
	if err != nil {
		fmt.Println("ss")
	}

	defer r.Body.Close()
	content, err := io.ReadAll(r.Body)
	if err != nil {
		fmt.Println("ss")
	}
	fmt.Printf("%s", content)

}

其中地址http://httpbin.org 是国外提供的一个验证http请求的网址,可以通过该网站进行测试。

相关推荐
ToDesk_Daas7 小时前
随时随地手搓app!手机远程 Vibe Coding 实操分享
智能手机·电脑·iphone
指尖的爷8 小时前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang
名字还没想好☜8 小时前
Go 实现指数退避重试:context 取消、抖动 jitter 与什么时候别重试
后端·golang·go
Casbin开源社区10 小时前
OpenAgent 详解:单二进制自托管 AI Agent 平台,30+ 模型接入、RAG 知识库、MCP 工具调用与 Casbin 工具权限
人工智能·golang·开源
碳基修炼1 天前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
五彩小白1 天前
GO语言装饰器语法
golang
那年窗外下的雪.1 天前
第 02 天:Linux 权限、inode、目录项与链接
学习·http
金金计较.1 天前
Go语言-4
开发语言·golang
那年窗外下的雪.1 天前
AIDC 学习日志|第 27 天|EVPN 多归属收敛时间线与 Leaf2 接管验证
网络协议·学习·http·tcpdump