在golang

时间:2016-04-22 13:41:18

标签: http go restful-authentication beego

我到现在为止所尝试的就像是 现在形成的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/

1 个答案:

答案 0 :(得分: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)