Как отправить почтовый запрос в Go?


Я пытаюсь сделать запрос POST, но я не могу сделать это. На другой стороне ничего не принимается.

вот как это должно работать? Я в курсе PostForm

2 52

2 ответа:

у вас есть в основном правильная идея, это просто отправка формы, которая является неправильной. Форма относится к телу запроса.

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))

Я знаю, что это старый, но этот ответ пришел в Результаты поиска. Для следующего парня-предложенный и принятый ответ работает, однако код, первоначально представленный в вопросе, является более низким уровнем, чем это должно быть. Ни у кого нет на это времени.

//one-line post request/response...
response, err := http.PostForm(APIURL, url.Values{
    "ln": {c.ln},
    "ip": {c.ip},
    "ua": {c.ua}})

//okay, moving on...
if err != nil {
  //handle postform error
}

defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)

if err != nil {
  //handle read response error
}

fmt.Printf("%s\n", string(body))

https://golang.org/pkg/net/http/#pkg-overview