golang (5) http 请求分析
2024-09-29 12:04:16
http 分析包分析
fmt.Println("get Content-Type: ", r.Header.Get("Content-Type"))
var reader io.Reader = r.Body
b, e := ioutil.ReadAll(reader)
if e != nil {
fmt.Println("get body: ", string(b))
}
fmt.Println("get body: ", string(b))
err := r.ParseForm()
if err != nil {
common.HttpRspSend(w, STATUS_BAD_PARAM, "param parse is error: "+err.Error())
return
}
if len(r.Form) == 0 {
fmt.Println("no from ")
common.HttpRspSend(w, STATUS_BAD_PARAM, "no request param ")
return
}
if len(r.PostForm) == 0 {
fmt.Println("no post param")
common.HttpRspSend(w, STATUS_BAD_PARAM, "no request param ")
return
}
form := r.PostForm
fmt.Println("get cmd is ", form.Get("cmd"))
if r.Method != "POST" {
common.HttpRspSend(w, STATUS_BAD_PARAM, "Only POST allowed!")
return
}
log.Info(pretty.Sprint(form))
https 客户端跳过http认证
golang http请求server的https文件,出现错误
error: certificate signed by unknown authority,
go的Client端默认要对服务端传过来的数字证书进行校验的,如果这个证书是由不知名CA签发的,则会出先上面的错误。联想到curl的-k选项,可以跳过对服务端认证的认证。
修改client.go的代码,让client端略过对证书的校验,如下:
package main
import (
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Get("https://localhost:8081")
if err != nil {
fmt.Println("error:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
http urlencode
最新文章
- web常见错误提示总结
- 【Win 10 应用开发】打印UI元素
- 使用JSF框架过程中的若干典型问题及其解决方案
- Code笔记 之:防盗链(图片)
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
- js回调函数
- 《A First Course in Probability》-chaper8-极限定理-各类不等式
- python 登陆一个网站
- devexpress控件layoutview特效之一旋转木马的实现
- RHEL部署ipa红帽身份验证
- RabbitMQ分布式集群架构和高可用性(HA)
- C#中字符串的字面值(转义序列)
- codecademy quiz——JavaScript Promise
- JavaScript判断数据类型的方法
- C# List用法 List介绍
- PHP WeBaCoo后门学习笔记
- JAVA4种线程池的使用
- gitlab提交内容关联到slack通知
- team330团队铁大兼职网站使用说明
- 深入System.Web.Caching命名空间 教你Hold住缓存管理