@Aylix

Как правильно передать модифицированную строку в телеграм?

Передаю сообщение в телеграм, обычная строка типа "Hello world" - передается, строка типа Array[i] + "hello" - нет
String urlString = "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s";
                    String apiToken = "123example";
                    String chatId = "@example";
                    String text = arrayGames[i];

                    urlString = String.format(urlString, apiToken, chatId, text);

                    URL url = null;
                    try {
                        url = new URL(urlString);
                    } catch (MalformedURLException e) {
                        e.printStackTrace();
                    }
                    URLConnection conn = url.openConnection();

                    StringBuilder sb = new StringBuilder();
                    InputStream is = new BufferedInputStream(conn.getInputStream());
                    BufferedReader br = new BufferedReader(new InputStreamReader(is));
                    String inputLine = "";
                    while ((inputLine = br.readLine()) != null) {
                        sb.append(inputLine);
                    }
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@Aylix Автор вопроса
проблема была в том, что в массиве были пробелы. Заэнкодить все сразу не получалось - java.net.MalformedURLException: no protocol , поэтому решение есть закодировать элементы по отдельности
urlString = String.format(urlString, 
                URLEncoder.encode(apiToken, "UTF-8"), 
                URLEncoder.encode(chatId, "UTF-8"),
                URLEncoder.encode(text, "UTF-8"));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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