@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);
                    }
  • Вопрос задан
  • 39 просмотров
Решения вопроса 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"));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 250 000 руб.
MyWed Рязань
от 80 000 до 120 000 руб.
от 180 000 до 250 000 руб.
22 нояб. 2019, в 19:14
500 руб./за проект
22 нояб. 2019, в 18:27
2000 руб./за проект
22 нояб. 2019, в 17:16
200 руб./за проект