1

投稿でgzipされたデータをgolangサーバーに送信し、投稿でgzipされたデータを使用しようとしています。基本的に、私は次の入力を行います

curl -X POST -H "Content-Encoding: gzip" -d @helloworld.gz http://myapp/

サーバー側で

func PostEndpoint(w http.ResponseWriter, req *http.Request) {
   gunzip, err := gzip.NewReader(req.Body)
   if err != nil {
      log.Println("error unzip: ",err)
   }
   body , _ := ioutil.ReadAll(gunzip)
}

EOF エラーが発生し続けます。生のバイトを印刷しようとしioutil.ReadAll(req.Body)ましたが、curl から送信した完全なデータではありません。

多重化するために設定する必要があるものはありますか? 今、私はそれを次のように作成します

router := mux.NewRouter()
router.HandleFunc("/", GetEndpoint).Methods("GET")
router.HandleFunc("/", PostEndpoint).Methods("POST")
log.Fatal(http.ListenAndServe(":80", router))
4

1 に答える 1

0

--data の代わりに curl で --binary-data を使用する必要がありました

于 2016-09-30T19:08:40.870 に答える