0

一括 SMS 送信サイトを介してモバイルで SMS を送信しようとしています。次のコードを使用して、Java API 経由で SMS を送信しようとしています。エラーは表示されませんが、メッセージは送信されていません。

 String urlParameters="usr=username &pwd=1234 &ph=9015569447 &text=Hello";
 //String request = "http://hapi.smsapi.org/SendSMS.aspx?";
 String request="http://WWW.BULKSMS.FELIXINDIA.COM/send.php?";
try{                        
URL url = new URL(request); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection();           
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false); 
connection.setRequestMethod("POST"); 


connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", "" +         Integer.toString(urlParameters.getBytes().length));
  connection.setUseCaches (false);

DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(urlParameters);

    wr.flush();
wr.close();
connection.disconnect();
}
catch(Exception ex)
{
 System.out.print(ex);
}
4

2 に答える 2

1

リクエスト パラメータ URL の間にスペースがあります。

 String urlParameters="usr=username&pwd=1234&ph=9015569447&text=Hello";

これが問題かもしれません。

于 2013-03-07T10:21:57.610 に答える
1

ストリームに書き込んだ後、応答コードをチェックして、何が起こっているかを確認する必要があります。

int rc = connection.getResponseCode();
if(rc==200)
{
    //no http response code error
    //read the result from the server
    rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    sb = new StringBuilder();
    //get the returned data too
    returnString=sb.toString();
}
else
{
    System.out.println("http response code error: "+rc+"\n");
}

(ここから貼り付けたコード)

また、これを絶対にしないでください:

catch(Exception ex)
{
    System.out.print(ex);
}

これはあなたの健康に悪いです: コードをデバッグする次のコードは、これを見つけるハードで重いオブジェクトであなたを平手打ちするでしょう!

また

catch(Exception ex)
{
    ex.printStackTrace();
}

また

catch(Exception ex)
{
    LOG.error("Something went wrong (adequate error message here please)", ex);
}

やらなければならない!!!

于 2013-03-07T10:22:50.350 に答える