如何在Go中打印http响应正文?

我正在使用Google Cloud Run来运行应用程序(例如示例应用程序),我在Go中有以下脚本:


package main


import (

        "fmt"

        "log"

        "net/http"

        "os"

        "os/exec"

)


func handler(w http.ResponseWriter, r *http.Request) {

        log.Print("helloworld: received a request")


        cmd := exec.CommandContext(r.Context(), "/bin/sh", "script.sh")

        cmd.Stderr = os.Stderr

        out, err := cmd.Output()

        if err != nil {

                w.WriteHeader(500)

        }

        w.Write(out)

}


func main() {

        log.Print("helloworld: starting server...")


        http.HandleFunc("/", handler)


        port := os.Getenv("PORT")

        if port == "" {

                port = "8080"

        }


        log.Printf("helloworld: listening on %s", port)

        log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))

}

我需要从 script.sh 命令中记录.print响应正文。我该怎么做?


MM们
浏览 500回答 1
1回答

至尊宝的传说

在服务器中w.写(写出)以 [] 字节的形式从 script.sh 发送响应。您可以在该行上方添加以下日志。打印(字符串(输出))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go