💬 Как правильно отправить эти данные в теле HTTP POST запроса?
Для отправки данных в теле HTTP POST запроса важно знать тип содержимого. Поскольку это сырой текст, мы будем использовать тип содержимого
Интерфейс
Чтобы соответствовать требованиям, мы преобразуем тело в буфер, который реализует этот интерфейс:
data := "test data"
Для отправки данных в теле HTTP POST запроса важно знать тип содержимого. Поскольку это сырой текст, мы будем использовать тип содержимого
text/plain
. Функция http.Post
требует io.Reader
в качестве тела, а не строки или байтов:
Post(url string, contentType string, body io.Reader) (resp *http.Response, err error)
Интерфейс
Reader
определен следующим образом:
type Reader interface {
Read(p []byte) (n int, err error)
}
Чтобы соответствовать требованиям, мы преобразуем тело в буфер, который реализует этот интерфейс:
func main() {
data := "test data"
contentType := "text/plain"
body := strings.NewReader(data)
// или
// body := bytes.NewBufferString(data)
resp, err := http.Post("https://example.com", contentType, body)
// ....
}