2016-04-22 18 views
-2

, was ich bisher versucht haben, ist wie und HTTP-Anforderung gebildet ist jetzt: curl -X POST http://localhost:8080/v1.0anhängen Benutzernamen und Passwort in HTTP-Anfrage in golang

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 
} 

Hier bin ich in der Lage zusammen mit URL nur Anfrage xml zu senden. Und mit meinem Code ich weiß nicht, wie zusammen mit url Benutzername und Passwort zu senden, es sollte wie sein folgender URL ist:

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

@JimB Um echo, verwenden Sie das http-Paket: https://golang.org/pkg/net/http/#Request.SetBasicAuth –

+0

@ JimB, können Sie Bitte exp Was soll ich in diesem Code hinzufügen, um nur Benutzername und Passwort zusammen mit http Anfrage – vijay

+0

@ william.taylor.09 l_httpClient_ptr.Post (p_url_str, "text/xml; charset = utf-8 ", bytes.NewBufferString (p_request_str)) mit dieser kann ich nur normale HTTP-Anfrage senden, aber ich muss Benutzernamen und Passwort auch wie ich in meiner Frage – vijay

Antwort

0

Sie eine Anfrage mit benutzerdefinierten Header erstellen, wie folgt aus:

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

dann diese Anforderung mit ausführen:

l_resp_byte, r_err := l_httpClient_ptr.Do(req)