В HTTP-сервере Go Go я могу получить тело запроса POST. Go net/http package, кажется, удаляет тело запроса GET. Я знаю, что лучше не использовать http GET with request body, но мне нужно обработать http GET с телом запроса. Возможно ли это без изменения стандартной библиотеки? Пожалуйста, помогите, так как я не хочу возвращаться к C с libevent!Как разобрать http Получить запрос тела в Go http-сервера?
Когда клиент отправляет POST с телом запроса, ниже код отображает содержимое тела. Но когда клиент отправляет GET с телом запроса, в теле ничего нет.
func handler(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
body, _ := ioutil.ReadAll(r.Body)
log.Printf("body: %v", string(body))
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Вы «** нуждаетесь в ** для обработки http GET с телом запроса»? В самом деле ? Вероятно, в вашем дизайне есть проблема. –
Я не могу изменить протокол. Мне бы хотелось, чтобы я мог. – gosharplite
Можете ли вы опубликовать пример кода, который вы * хотите * реализовать? Трудно понять, что вы просите. – elithrar