How do you read headers in an HTTP response in Go?
To read headers in an HTTP response in Go, you can use the http.Response struct's Header field, which contains a map of the response headers.
Here's an example:
Read headers in an HTTP response
Example
resp, err := http.Get("https://www.example.com")
if err != nil {
// handle error
}
defer resp.Body.Close()
contentType := resp.Header.Get("Content-Type")
fmt.Println("Content-Type header value:", contentType)
In this example, an HTTP GET request is made to https://www.example.com, and the response is stored in the resp variable. The Header field of the http.Response struct is then accessed to get the value of the Content-Type header using the Get() method. The Get() method returns an empty string if the header is not present in the response.
You can also iterate over all the headers in the response using a for loop:
Example
for key, values := range resp.Header {
fmt.Println("Header:", key)
for _, value := range values {
fmt.Println("Value:", value)
}
}
In this example, the range keyword is used to iterate over the keys and values in the Header map. The values are stored as slices, as a header can have multiple values with the same key. The inner for loop is used to iterate over each value in the slice.
Most Helpful This Week
What is the default HTTP server in Go?
Golang Program to print Floyd's triangle
GO Program to Swap Number Without Using Temporary Variables
How to check specific field exist in struct?
Concurrency in Golang
GO language program with example of Sort Functions for integer, strings and float64 data type
How do you handle HTTP server health checks in Go?
How to declare Interface Type in Go Programming Language
Golang program for implementation of Shell Sort
Interface embedding and calling interface methods from another package in Go (Golang)
Most Helpful This Week
Passing multiple string arguments to a variadic functionRegular expression to extract DNS host-name or IP Address from stringExample: How to use TeeReader from IO Package in Golang?Example: Stack and Caller from RUNTIME packageReplace numbers by zero from stringExample to handle GET and POST request in GolangExample of Pointers with StructRegex to extract image name from HTML in GolangNormal function parameter with variadic function parameterDifferent ways for Integer to String Conversions