Java 城市航空推送API

Java 城市航空推送API,java,urbanairship.com,Java,Urbanairship.com,我正在尝试使用java程序构建一个简单的推送通知,将消息广播到所有Android设备,但我总是收到Connectionexception,我不知道为什么 URL url = new URL("https://go.urbanairship.com/api/push/broadcast/"); // Transmit the request document HttpURLConnection connection = (HttpURLConnection) url.ope

我正在尝试使用java程序构建一个简单的推送通知,将消息广播到所有Android设备,但我总是收到Connectionexception,我不知道为什么

    URL url = new URL("https://go.urbanairship.com/api/push/broadcast/");
    // Transmit the request document
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    System.out.println("connect 1");

    connection.setDoOutput(true);   
    String auth = "*****************" + ":" + "******************";
    //connection.setRequestProperty("Authorization","Basic " + Base64.encode(auth.getBytes())); 
    connection.setRequestProperty("Authorization", "Basic " + auth);
    System.out.println("connect 2");
    connection.setDoInput(true);
    connection.setRequestMethod("POST");
    connection.setConnectTimeout(12000);
    connection.setRequestProperty("Content-Type","application/json");
    connection.setRequestProperty("Content-Length", "" + Integer.toString(bytes.length));
    connection.connect();
    System.out.println("connect 3");
    //Send request
    DataOutputStream wr = new DataOutputStream (connection.getOutputStream ());
    wr.write(bytes);
    wr.flush ();
    wr.close ();
    System.out.println("connect 5");
    //Get Response
    String responseHeader = connection.getHeaderField(0);   
    System.out.println("response header " + responseHeader);
输出:

connect 1
connect 2
Exception in thread "main" java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:559)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:158)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
    at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
    at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
    at TestProject.main(TestProject.java:34)
connect1
连接2
线程“main”java.net.SocketTimeoutException中出现异常:连接超时
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
位于java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
位于java.net.socksocketimpl.connect(socksocketimpl.java:366)
位于java.net.Socket.connect(Socket.java:529)
位于com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:559)
位于sun.net.NetworkClient.doConnect(NetworkClient.java:158)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
位于sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
在sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:272)
位于sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
位于sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
位于TestProject.main(TestProject.java:34)

关闭此缺陷。尝试与城市飞艇团队合作,但他们那边似乎有一个bug。

您是否尝试过使用curl发送推送示例?