使用 Go 1.5.1。
当我尝试向使用基本身份验证自动重定向到 HTTPS 的站点发出请求时,我希望得到 301 重定向响应,而不是 401。
package main
import "net/http"
import "log"
func main() {
url := "http://aerolith.org/files"
username := "cesar"
password := "password"
req, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Println("error", err)
}
if username != "" || password != "" {
req.SetBasicAuth(username, password)
log.Println("[DEBUG] Set basic auth to", username, password)
}
cli := &http.Client{
}
resp, err := cli.Do(req)
if err != nil {
log.Println("Do error", err)
}
log.Println("[DEBUG] resp.Header", resp.Header)
log.Println("[DEBUG] req.Header", req.Header)
log.Println("[DEBUG] code", resp.StatusCode)
}
请注意,curl 返回 301:
curl -vvv http://aerolith.org/files --user cesar:password
知道可能出了什么问题吗?
白板的微信
相关分类