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
How to set timeout for http.Get() requests in Golang?
Interfaces with similar methods in Go Programming Language
Copy Struct Type Using Value and Pointer Reference
Panic: runtime error: index out of range error in Golang
What is Slice Data Type in Go?
How do you handle HTTP timeouts with an HTTP client in Go?
Most Helpful This Week
Example: ReadAll, ReadDir, and ReadFile from IO PackageWhat is GOPATH?How to declare empty Map in Go?How to check if a string contains a numbers in Golang?Example: Arrays of Arrays, Arrays of Slices, Slices of Arrays and Slices of SlicesHow to fix race condition using Atomic Functions in Golang?How to Remove duplicate values from Slice?How to extract text from between html tag using Regular Expressions in Golang?How to import structs from another package in Go?How to Convert string to float type in Go?