-2

我到目前为止所尝试的就像现在形成的http请求是:curl -X POST http://localhost:8080/v1.0

l_httpClient_ptr := http.Client{
  Timeout: timeout,
 }
 var l_resp_ptr *http.Response
 var l_resp_byte []byte
 l_resp_ptr, r_err = l_httpClient_ptr.Post(p_url_str, "text/xml; charset=utf-8", bytes.NewBufferString(p_request_str))

 l_resp_byte, r_err = ioutil.ReadAll(l_resp_ptr.Body)
 l_resp_ptr.Body.Close()
 r_response_str = string(l_resp_byte)

 return
}

在这里,我只能发送请求 xml 和 URL。使用我的代码,我不知道如何发送用户名和密码以及 url,它应该类似于以下 URL:

curl -H "ChannelName: guest" -H "ChannelPassword: guest" -X POST http://localhost:8080/v1.0/
4

1 回答 1

0

您可以使用自定义标头创建请求,如下所示:

req, err := http.NewRequest("POST", p_url_str, bytes.NewBufferString(p_request_str))
req.Header.Set("ChannelName", "guest")
req.Header.Set("ChannelPassword", "guest") 

然后执行此请求:

l_resp_byte, r_err := l_httpClient_ptr.Do(req)
于 2016-04-22T15:26:25.553 回答