Go中的curl -L相当于什么?

时间:2017-09-18 21:41:27

标签: curl go

我有一个curl请求,通过命令行执行时表现出预期的行为。但是当我尝试在Go程序中提出相同的请求时,我看起来像是一个奇怪的重定向。 这是卷曲请求:

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

这是Go代码:

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)

我想知道为了获得与curl的-L选项相同的行为,我需要做些什么特别的事情,我对Go的理解是它默认遵循重定向。

0 个答案:

没有答案