Ошибка при подключении к APNS (https://api.development.push.apple.com/)

Я пытаюсь подключиться к APNS ( https://api.development.push.apple.com/), используя HttpsUrlConnection (код Java). Я скачал сертификат с https://api.development.push.apple.com/ и добавил его в хранилище ключей Java.

КОД:

public class HttpsUrlConnectionClient {

    public static void main(String[] args) {

        {
            try {
                URL obj = new URL("https://api.development.push.apple.com/3/device/<device-token>");
                HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
                con.setRequestMethod("POST");
                con.setRequestProperty("apns-topic", "<apns-topic-name>");
                con.setRequestProperty("authorization", "bearer <apns-auth-key>");
                con.setRequestProperty("content-type", "application/json");
                con.setDoOutput(true);
                DataOutputStream wr = new DataOutputStream(con.getOutputStream());
                wr.writeBytes("{ \"aps\" : { \"alert\" : \"Hello\" } }");
                wr.flush();
                wr.close();

                int responseCode = con.getResponseCode();
                System.out.println(responseCode);


                BufferedReader in = new BufferedReader(
                        new InputStreamReader(con.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();


            } catch (Exception e) {

            }

        }
    }
}

Я выполнил шаги, упомянутые на https://github.com/escline/InstallCert чтобы получить сертификат сервера и сохранить его локально.

Я всегда получаю responseCode как -1 (неверный HTTP-ответ).

Пожалуйста, помогите мне, так как я не понимаю, связано ли это с сертификацией или чем-то еще.

0 ответов

Другие вопросы по тегам