1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| func main() { resp, err := http.Get("https://www.zhenai.com//zhenghun") if err != nil { panic(err) } defer resp.Body.Close()
if resp.StatusCode != http.StatusOK { fmt.Println("Error: status code", resp.StatusCode) }
bufReader := bufio.NewReader(resp.Body)
e := determineEncoding(bufReader)
utf8Reader := transform.NewReader(bufReader, e.NewDecoder())
bytes, err := ioutil.ReadAll(utf8Reader) if err != nil { panic(err) } fmt.Printf("%s\n", bytes) }
func determineEncoding(r *bufio.Reader) encoding.Encoding { bytes, err := r.Peek(1024) if err != nil { panic(err) } e, _, _ := charset.DetermineEncoding(bytes, "html") return e }
|