When you send an HTTP request to a server, you often want to read the contents of the response. In Go, the body of the response can be found in the Response.Body
field of the http.Response
object, which is returned as the result of sending a request by an HTTP client. The HTTP response body in Go is of type io.ReadCloser
. To convert the io.ReadCloser
object to a string, you need to read the contents of this field using the io.ReadAll()
function.
|
|
In the example above, we are making a standard GET
request to the https://example.com/ website. On line 21
, we read the response body with the io.ReadAll()
function. This function returns the read response body as a slice of bytes, so in order to print it, we need to convert it to a string.
As the output of the example, you will see the HTML content of the https://example.com/ website:
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
div {
margin: 0 auto;
width: auto;
}
}
</style>
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>