$Id: 205
$SOId: 801000d0
Package net/http
has a layered design where each layer is a convenience wrapper on top of a lower layer.
Each lower layer is more complex but offers more control.
Here’s a recap of 3 ways of doing an HTTP GET request.
http.Get()
functionUsing top-level http.Get()
function is the simplest but not recommended due to lack of timeouts.
http.Client.Get()
method*http.Client
with &http.Client{}
Timeout
Get()
or Post()
or PostForm()
methodshttp.Client.Do()
methodThis allows the greatest control over the request.
http.Client
and set apropriate Timeout
*http.Request
with http.NewRequest
Method
to "GET"
, "POST"
, "HEAD"
, "PUT"
or "DELETE"
User-Agent
with Header.Set(key, value string)
Body
of type io.ReadCloser
TransferEncoding