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 중국어 웹사이트의 기타 관련 기사를 참조하세요!