How do you read headers from an HTTP response with an HTTP client in Go?

In Go, you can read headers from an HTTP response with an HTTP client using the http.Response type. Here's an example of how to read headers from an HTTP response:
Read headers from an HTTP response

Example

package main

import (
    "fmt"
    "net/http"
)

func main() {
    // Create an HTTP client
    client := &http.Client{}

    // Send an HTTP request
    resp, err := client.Get("https://example.com")
    if err != nil {
        fmt.Println("Error sending HTTP request:", err)
        return
    }
    defer resp.Body.Close()

    // Read headers from the HTTP response
    contentType := resp.Header.Get("Content-Type")
    server := resp.Header.Get("Server")

    // Print headers
    fmt.Println("Content-Type:", contentType)
    fmt.Println("Server:", server)
}

In this example, we create an HTTP client using the http.Client type and send an HTTP request using the client.Get method. We then read the headers from the HTTP response using the resp.Header.Get method.

We read two headers in this example: the "Content-Type" header and the "Server" header. We print these headers to the console using the fmt.Println function.

It's important to note that the http.Response type also provides many more methods for working with HTTP responses, such as getting the status code, reading the response body, and getting the values of multiple headers at once.


Most Helpful This Week