tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
response, err := client.Get(link)
if err != nil {
fmt.Println(err)
}
defer response.Body.Close()
//block forever at the next line
content, _ = ioutil.ReadAll(response.Body)
Powyższy kod jest przeznaczony do odczytu treści ze strony internetowej, która znajduje się w pętli. Zauważyłem, że czasami linia ioutil.ReadAll(response.Body)
będzie blokować na zawsze. Dzieje się tak losowo, jednak prawie zawsze dzieje się na tej stronie: http://xkcd.com/55
. To bardzo interesujące, że gdy robię curl http://xkcd.com/55
, to nic nie zwraca, jednak wget http://xkcd.com/55
zwraca całą stronę.ioutil.ReadAll (response.Body) blokuje na zawsze - Golang
Może są przekierowania: zobacz moją funkcję pobierania, aby śledzić te, z JarCookie zawarte: https://github.com/VonC/senvgo/blob/bf74db02b675bb36e0213bfdc68d6750c5bf944f/main.go#L19 29-L1979 – VonC
Właśnie przetestowałem pobieranie http://xkcd.com/55 i działa dobrze (z moją wersją kodu http) – VonC
Dzięki @VonC spróbuję. –