使用Gorilla工具包进行无限重定向循环

时间:2016-01-31 04:27:13

标签: go gorilla

我有这个简单的代码:

import (
   "log"
   "github.com/gorilla/http"
   "bytes"
)

func main() {
 url := "https://www.telegram.org"
 log.Println("url: " + url)
 var b bytes.Buffer
 http.Get(&b, url)
 log.Println("Get done")
}

它冻结了发出GET请求的行。它似乎进入302响应的无限循环,重定向到相同的URL(“https://www.telegram.org”)。 我在做什么或者做错了什么?

谢谢和问候。

1 个答案:

答案 0 :(得分:2)

显然图书馆不支持https(lol)

https://github.com/gorilla/http/issues/8

所以只需使用stdlib http模块:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {

    res, err := http.Get("https://www.telegram.org")
    if err != nil {
        return
    }
    defer res.Body.Close()

    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
        return
    }

    fmt.Printf("%s", body)

}