Tôi đang làm việc trên Telegram api trong ứng dụng java của mình. Tôi cần thực hiện xác thực và ủy quyền với tài khoản điện tín của mình và nhận danh sách thư của nhóm cụ thể của tôi. Vì mục đích này, trước tiên tôi có api_id
, api_hash
và MTProto servers
từ trang web điện tín. Thứ hai, tôi đã cố gắng để ủy quyền cho tài khoản của tôi với auth.sendCode
phương pháp theo cách này:Cách đúng để gọi các phương thức api điện tín
...
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);
...
Nhưng điều này trả về cho tôi javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
ngoại lệ. Tôi đã kiểm tra url có http
thay vì https
và nội dung này trả về 404 Not Found
nội dung html. Cách chính xác để gọi phương thức api điện tín trong java là gì?
Cập nhật:
tôi đã cố gắng sử dụng java socket
để gửi TCP bài yêu cầu, nhưng điều này trả về cho tôi 404 not found
.
Bạn đã có một cái nhìn vào libs sử dụng API? Ví dụ. https://github.com/ex3ndr/telegram-api ... – Fildor
@Fildor Tôi không muốn sử dụng thư viện của bên thứ 3 nếu có thể. Tôi muốn sử dụng phương pháp java chính để làm điều đó. – hamed
Không, không sử dụng. Chỉ cần nhìn, làm thế nào nó được thực hiện ở đó ... – Fildor