Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息上一节学习了POST请求,Form、PostForm、MultipartForm、上传文件本节学习:修改状态码、获取(修改)Header信息、设置302跳转、返回Json信息首先写一个最简单的代码作为开始,后续进行修改。

大家好,欢迎来到IT知识分享网。

上一节学习了POST请求,Form、PostForm、MultipartForm、上传文件

本节学习:修改状态码、获取(修改)Header信息、设置302跳转、返回Json信息


首先写一个最简单的代码作为开始,后续进行修改。

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

执行结果

可以看到返回的状态码是200 OK,

(1)修改返回状态码

简单修改一下,实现修改状态码的功能

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

修改返回状态码

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

执行结果

注意:WriteHeader修改状态码的目的是为了发送错误类的HTTP状态码,比如301、404、500等

(2)获取Header信息

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

获取Header信息

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

Header包含由服务器接收或由客户端发送的请求报头字段。

例如:

Header = map[string][]string{

“Accept-Encoding”: {“gzip, deflate”},

“Accept-Language”: {“en-us”},

“Foo”: {“Bar”, “two”},

}

HTTP定义报头名称不区分大小写。

对于客户端请求,某些报头(如Content-Length和Connection)会在需要时自动写入,报头中的值可能会被忽略。

(3)设置302跳转

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

设置302跳转

代码解析

func ResponseWriter2(w http.ResponseWriter, r *http.Request) { //w.Header().Set的功能是自定义设置header信息, //1个key对应1个value,键不区分大小写 w.Header().Set("Location","http://www.toutiao.com") //WriteHeader发送一个带有提供的状态码的HTTP响应头,如果未设置,将默认WriteHeader(http.StatusOK),除非自定义设置状态码。 //状态码必须是有效的HTTP 1xx-5xx状态码。 w.WriteHeader(302) }

(4)设置JSON返回

Go语言Web编程,状态码、Header信息、302跳转、返回Json信息

代码解析:

func ResponseWriter3(w http.ResponseWriter, r *http.Request) { //w.Header().Set的功能是自定义设置header信息, //设置Content-Type的值为application/json w.Header().Set("Content-Type", "application/json") //1. 设置map,键的类型是string,值的类型是string //2. json.Marshal将map转换成json的[]byte类型 bytes, _ := json.Marshal(map[string]string{ "username": "GoPy", "password": "", })

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/85339.html

(0)
上一篇 2024-09-25 06:25
下一篇 2024-09-27 18:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信