本文主要是介绍go | 上传文件分析 | http协议分析 | 使用openssl 实现 https 协议 server.key、server.pem,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
是这样的,现在分析抓包数据
test.go
package mainimport ("fmt""log""github.com/gin-gonic/gin"
)func main() {r := gin.Default()// Upload single filer.MaxMultipartMemory = 8 << 20r.POST("/upload", func(c *gin.Context) {// 尝试从请求表单中获取名为file 的文件,返回两个值,分别是 *mutilepart.FileHeader 和 error// *mutilepart.FileHeader 是一个结构体,包含了文件的元数据,如文件名、文件大小、MIME类型file, _ := c.FormFile("file")log.Println(file.Filename)dst := "./" + file.Filename//把文件上传到指定了路径 当前是把文件上传到当前目录下c.SaveUploadedFile(file, dst)c.String(200, fmt.Sprintf("'%s' upload", file.Filename))})r.Run(":8080")}
启动服务器
go run test.go
上面的这张图详细介绍了起始行、头部字段、空行、消息体都有哪些东邪,以及分析这些字段的意思
下面再上传一个压缩文件
注意哈,可以通过curl 模拟上床数据(不得不说curl 命令真强大)
curl -X POST http://localhost:8080/upload -F “file=@/yourpath/main.zip” -H “Content-Type:multipart/form-data”
简单讲一下这些参数-X POST 请求方式
url
-F “file=@xxx/main.zip” 要上传的文件
-H 采用表单编码方式请求数据
使用openssl生成server.key 、server.pem
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.pem
req - 请求处理器,用于处理SSL证书的请求。
-x509 - 指定生成一个X.509格式的SSL证书。
-nodes - 指定不对生成的SSL证书进行加密。
-days 365 - 指定证书的有效期为365天。
-newkey rsa:2048 - 创建一个新的2048位的密钥。
-keyout my.key - 指定生成的密钥保存到my.key文件。
-out my.crt - 指定生成的SSL证书保存到my.crt文件
这篇关于go | 上传文件分析 | http协议分析 | 使用openssl 实现 https 协议 server.key、server.pem的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!