Go中的curl -L等效于什么?

I've got a curl request that exhibits expected behavior when executed via the command line. But when I try to make that same request in my Go program I'm getting what looks like a weird redirect. Here's the curl request:

curl -L -H "Accept: application/json" -H "Authorization: redacted" -d "zip_url=value?&env_id=value&autocreate=true&" https://redacted

Here's the Go code:

payload.Set("zip_url", value)
payload.Set("env_id", value)
payload.Set("autocreate", "true")
payload.Set("orgGuid", value)
payload.Set("spaceGuid", value)
encodedPayload := payload.Encode()
client := http.Client{}
req, err := http.NewRequest("POST", d.apiEndpoint, bytes.NewBufferString(encodedPayload))
if err != nil {
    fmt.Println("Error: ", err.Error())
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Authorization", redacted)
req.Header.Set("Accept", "application/json")
resp, err := client.Do(req)

I'm wondering if there's anything special I need to do in order to get the same behavior as curl's -L option, my understand of Go is that it follows redirects by default.