Подтвердить что ты не робот

Как отправить запрос POST в Голанге?

Я считаю, что http-пакет очень запутан. Я думаю, что клиент и сервер должны быть разделены в двух разных пакетах и, возможно, на третьем с общим материалом.

Во всяком случае, попытка сделать запрос POST, но я не могу это сделать. С другой стороны ничего не получено. Так ли это должно работать? Я знаю функцию PostForm, но я думаю, что не могу ее использовать, потому что она не может быть протестирована с помощью httputil правильно?

hc := http.Client{}
    req, err := http.NewRequest("POST", APIURL, nil)

    form := url.Values{}
    form.Add("ln", c.ln)
    form.Add("ip", c.ip)
    form.Add("ua", c.ua)
    req.PostForm = form
    req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

    glog.Info("form was %v", form)
    resp, err := hc.Do(req)
4b9b3361

Ответ 1

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

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