ссылка обрезается , данных много
пример https://test.test.ru/eq_callback.php?key=4fd17049a160408b810e163bdd10a1d9&status=%7B%22result%22%3A%22OK%22%2C%22message%22%3A%22RUDP-ACC072-38611%23terminal+length+0%5Cr%5CnRUDP-ACC072-38611%23%5Cr%5CnRUDP-ACC072-38611%23sh+mac+address-table+%5Cr%5CnUnicast+Entries%5Cr%5Cn+vlan+++++mac+address+++++type++++++++protocols+++++++++++++++port%5Cr%5Cn---------%2B---------------%2B--------%2B---------------------%2B-------------------------%5Cr%5Cn+++1++++++748e.f8a7.f681+++dynamic+ip%2Cipx%2Cassigned%2Cother+Port-channel1++++++++++++++%5Cr%5Cn+++1++++++748e.f8a9.a041+++dynamic+ip%2Cipx%2Cassigned%2Cother+Port-channel1++++++++++++++
body := new(bytes.Buffer)
body.Write([]byte(OutBuff))
output := url.QueryEscape(OutBuff)
fmt.Println(output)
inputRawURL := callBackUrl + "?key=" + callBackKey + "&status=" + output
req, err := http.NewRequest(http.MethodPost, inputRawURL, body)
if err != nil {
return err
}
Transport := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: false}, // ignore expired SSL certificates
}
c := http.Client{Transport: Transport}
resp, err := c.Do(req)
if err != nil {
return err
}
fmt.Println(inputRawURL, resp, OutBuff)
А зачем вам передавать столько данных через query, а не через body ?
скорее всего обрезается на принимающей стороне, тк где--нибудь лишний преждевременный неэкранированный &, означающий начало нового параметра
body почему то сервис не причинаем
А сервис ваш? Если не принимает, значит "прием" написан неправильно
тогда хотя бы соберите параметры с помощью net.Url https://pkg.go.dev/net/url#example-Values вместо этого inputRawURL := callBackUrl + "?key=" + callBackKey + "&status="
вообщем оказалось curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data); вот так она на пхп отрпавляет , массив ключ-значение . через курл , первый раз такое вижу , есть вариант как также постить только с go ?
Обсуждают сегодня