2016-10-17 3 views
13

Я работаю над Telegram api в своем приложении java. Мне нужно сделать аутентификацию и авторизацию с моей учетной записью телеграммы и получить список сообщений моей конкретной группы. Для этого сначала я получил api_id, api_hash и MTProto servers с сайта телеграммы. Во-вторых, я пытался разрешить мой счет с auth.sendCode метод таким образом:Правильный способ вызова методов телеграммы api

... 
String url = "https://149.154.167.40:443/auth.sendCode"; 
HttpClient httpClient = HttpClients.createDefault(); 
HttpPost httpPost = new HttpPost(url); 
httpPost.addHeader("Content-type", "application/x-www-form-urlencoded"); 
httpPost.addHeader("charset", "UTF-8"); 

List<NameValuePair> nameValuePairs = new ArrayList<>(); 
nameValuePairs.add(new BasicNameValuePair("phone_number", myPhoneNumber)); 
nameValuePairs.add(new BasicNameValuePair("sms_type", "5")); 
nameValuePairs.add(new BasicNameValuePair("api_id", api_id)); 
nameValuePairs.add(new BasicNameValuePair("api_hash", api_hash)); 
nameValuePairs.add(new BasicNameValuePair("lang_code", "en")); 
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8")); 

HttpResponse response = httpClient.execute(httpPost); 
... 

Но это возвращает меня javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake исключение. Я тестировал URL-адрес с http вместо https, и это возвращало 404 Not Found html-контент. Каков правильный способ вызова метода apma telegram в java?

Update:

Я попытался с помощью java socket для отправки запроса TCP пост, но это возвращает меня 404 not found.

+1

ли вы взглянете в LIBS с помощью API? Например. https://github.com/ex3ndr/telegram-api ... – Fildor

+0

@Fildor Я не хочу использовать стороннюю библиотеку, если это возможно. Я хочу использовать основной метод java для этого. – hamed

+0

Нет, не используйте его. Просто посмотрите, как это делается ... – Fildor

ответ

1

Поскольку это протокол mproto, вы должны соблюдать их спецификации - https://core.telegram.org/mtproto

Я предлагаю вам использовать этот проект, так как он работает примеры - https://github.com/badoualy/kotlogram

+0

Благодарим за отзыв. Я хочу сделать это самостоятельно, без какой-либо сторонней библиотеки, если это возможно. Не могли бы вы предоставить мне только способ «отправить данные на телеграмму mtproto server?» Если я это знаю, я могу выполнить всю оставшуюся работу. – hamed

+0

@CharlesOkwuagwu Моя проблема заключается не в создании ключа auth. У меня нет проблем с auth-key! моя проблема отправляет почтовый запрос на телеграмму сервера mtproto. Я хочу найти правильный способ отправки данных на серверы телеграмм в моем приложении Java, а не генерации ключа auth. – hamed

+0

@hamed Я попытался объяснить вам, что общение с MTproto не может быть выполнено напрямую через запросы POST, как вы пытаетесь идти. Я также указал вам на ресурсы, которые расскажут вам, как начать «говорить» с телеграммами серверов. –

Смежные вопросы