@calculator212

Почему не получается правильно скачать веб-страницу с кирилической кодировкой?

В общем такая проблема, что делаю обычный гет запрос через прокси (точнее через апи сервиса с прокси), получаю страничку и сохраняю ее в файл, но проблема в том, что русские символы превращаются в кашу при открытии файла с кодировкой 1251. Еще такая особенность, что при сохранении страницы через браузер, то она весит 60кб, если скачивать через го или curl то она уже весит 70кб, в чем может быть проблема?

func main(){
	rawURL := "url_with_proxy_api"
	url, err := url.Parse(rawURL)
	client := &http.Client{}
	request, err := http.NewRequest("GET", url.String(), nil)

	dump, _ := httputil.DumpRequest(request, false)
	fmt.Println(string(dump))

	response, err := client.Do(request)

	checkError(err)
	fmt.Println("Read ok")

	if response.Status != "200 OK" {
		fmt.Println(response.Status)
		os.Exit(2)
	}
	fmt.Println("Reponse ok")

	var buf [512]byte
	f2,_ := os.OpenFile("test2.html",os.O_WRONLY|os.O_APPEND|os.O_CREATE,0666)
	reader := response.Body
	for {
		n, err := reader.Read(buf[0:])
		if err != nil {
			os.Exit(0)
		}
		
		f2.Write(buf[0:n])
	}

	os.Exit(0)
}

func checkError(err error) {
	if err != nil {
		if err == io.EOF {
			return
		}
		fmt.Println("Fatal error ", err.Error())
		os.Exit(1)
	}
}
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы