@LamerFromSpace
Студент-быдлокодер

Как получить сертификат и отправить GET запрос на Go к API Telegram?

Сгенерировал сертификат через openSSL, пытаюсь так:
CA_Pool := x509.NewCertPool()
	severCert, err := ioutil.ReadFile("./Jsr.pem")
	if err != nil {
		fmt.Println(err)
		return
	}

	CA_Pool.AppendCertsFromPEM(severCert)

	tlsConfig := &tls.Config{
		InsecureSkipVerify: true,
		RootCAs:            CA_Pool,
	}

	client = http.Client{
		Timeout: time.Second * 30,
		Transport: &http.Transport{
			TLSClientConfig: tlsConfig,
		},
	}

	resp, err := client.Get("https://api.telegram.org/botXXX/getMe")
	if err != nil {
		fmt.Println(err)
		return
	}


Каждый раз в теле ответа nil
  • Вопрос задан
  • 164 просмотра
Решения вопроса 2
как это обойти?

Ну первое что напрашивается - использовать прокси.
HTTP или SOCKS.
Или сервер выбрать за пределами РФ. Ну или завернуть трафик в VPN на том сервере, на котором будет дислоцироваться бот.
Ответ написан
Комментировать
@LamerFromSpace Автор вопроса
Студент-быдлокодер
Думаю, что ж такое, почему не могу достучаться до API Telegram, Дмитрий Шицков спросил, как же я парсю респонс, парсил я через json.Unmarshal. Решил посмотреть, что там по байтам:
5d03f26fb3b53671607474.png

Ого, как много. Странно, ведь телега должна была вернуть маленький json.
Давайте ка кастанём в строчку:
5d03f34da6a8f430939081.png

А в браузере стояло VPN расширение, которое автоматом включалось на блоченных сайтах и всё работало ок.
С VPN всё работает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы