package huibo import ( "net/http" "strings" ) // generateCurlCommand 从 HTTP 请求生成 curl 命令 func generateCurlCommand(req *http.Request) string { var cmd strings.Builder cmd.WriteString("curl -X ") cmd.WriteString(req.Method) cmd.WriteString(" '") cmd.WriteString(req.URL.String()) cmd.WriteString("'") // 添加请求头 for key, values := range req.Header { for _, value := range values { cmd.WriteString(" \\\n -H '") cmd.WriteString(key) cmd.WriteString(": ") cmd.WriteString(value) cmd.WriteString("'") } } return cmd.String() } // generateCurlCommandWithBody 生成包含请求体的 curl 命令 func generateCurlCommandWithBody(method, url string, headers map[string]string, body string) string { var cmd strings.Builder cmd.WriteString("curl -X ") cmd.WriteString(method) cmd.WriteString(" '") cmd.WriteString(url) cmd.WriteString("'") // 添加请求头 for key, value := range headers { cmd.WriteString(" \\\n -H '") cmd.WriteString(key) cmd.WriteString(": ") cmd.WriteString(value) cmd.WriteString("'") } // 添加请求体 if body != "" { cmd.WriteString(" \\\n -d '") cmd.WriteString(body) cmd.WriteString("'") } cmd.WriteString(" \\\n --compressed") return cmd.String() }