>백엔드 개발 >Golang >My Go POST 요청 코드가 양식 데이터를 올바르게 전송하고 있습니까?

My Go POST 요청 코드가 양식 데이터를 올바르게 전송하고 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-19 21:53:111006검색

Is My Go POST Request Code Correctly Sending Form Data?

Go의 POST 요청: 연결 문제 해결

Go에서 POST 요청을 할 때 연결 문제를 방지하려면 POST 요청이 올바르게 구성되고 전송되었는지 확인하는 것이 중요합니다. 이 분야의 개발자가 직면하는 일반적인 문제를 해결해 보겠습니다.

질문:
POST 요청을 보내려고 하면 대상에서 응답이 수신되지 않습니다. 다음 코드 조각은 그러한 요청을 하는 유효한 접근 방식입니까?

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)

답변:
제공하신 코드 조각에는 양식 데이터가 추가되는 방식에 사소한 문제가 있습니다. 요청에. 양식 데이터는 URL 매개변수의 일부가 아닌 요청 본문으로 전송되어야 합니다. 수정된 코드는 다음과 같습니다.

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

이 수정된 코드에서 strings.NewReader(form.Encode()) 호출은 양식 데이터를 문자열로 인코딩하고 이를 요청 본문에 할당합니다. 이렇게 하면 양식 데이터가 올바르게 전송되고 서버에서 처리될 수 있습니다.

위 내용은 My Go POST 요청 코드가 양식 데이터를 올바르게 전송하고 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.