java - 捕获服务器响应代码

标签 java api sms response

我正在尝试使用 this site 上提供的 API 从我的 Java Web 应用程序发送 SMS 。

我无法收到教程中提到的响应代码,可以在 here 找到该响应代码。 。我正在为我的项目使用 Java 版本的代码。谁能提供解决方案吗?

响应代码如下:

 1 : SMS sent  
-1 : Server Error  
-2 : Invalid Username  
-3 : Invalid message text  
-4 : Login Failed  
-5 : IP Blocked

The code is as below:

import java.net.*;
import java.io.*;

public class SmsSender
{
  //Replace your way2sms username and password below
  static final String _userName = "your way2sms username";
  static final String _password = "your way2sms password";
  static final String _url = "http://ubaid.tk/sms/sms.aspx";
  static final String charset = "UTF-8";

  //to build the query string that will send a message
  private static String buildRequestString(String targetPhoneNo, String message) throws   
  UnsupportedEncodingException
  {
    String [] params = new String [5];
    params[0] = _userName;
    params[1] = _password;
    params[2] = message;
    params[3] = targetPhoneNo;
    params[4] = "way2sms";

    String query = String.format("uid=%s&pwd=%s&msg=%s&phone=%s&provider=%s",
    URLEncoder.encode(params[0],charset),
    URLEncoder.encode(params[1],charset),
    URLEncoder.encode(params[2],charset),
    URLEncoder.encode(params[3],charset),
    URLEncoder.encode(params[4],charset)
    );
    return query;
  }

  public static void sendMessage(String reciever, String message) throws Exception
  {
    //To establish the connection and perform the post request
    URLConnection connection = new URL(_url + "?" +  
    buildRequestString(reciever,message)).openConnection();
    connection.setRequestProperty("Accept-Charset", charset);

    //This automatically fires the request and we can use it to determine the response status
    InputStream response = connection.getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(response));
    System.out.println(br.readLine());
  }

  public static void main(String [] args)
  throws Exception
  {
    String testPhoneNo = "9876543210";
    String testMessage = "Sending Messages From java is not too hard";

    sendMessage(testPhoneNo,testMessage);
  }
}

最佳答案

InputStream response = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(response));
String responseString = br.readLine();
Integer responseInt = Integer.valueOf(responseString).intValue();
switch(responseInt)
{
  case 1 : //SMS sent
  break;
  case -1 : // Server error
  break;
.
.  // put check conditions similarly
.
}

关于java - 捕获服务器响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262976/

相关文章:

java - 是否可以向 OpenAPI 添加方法?

java - 代码签名方面J

java - 错误 : java. lang.ClassNotFoundException : org. apache.mahout.common.RandomWrapper

android - 对 Uri.parse ("content://sms"达成共识);

java - System.currentTimeMillis 在 Eclipse 的 Junit Test 中无法正常工作

c# - Kentico UserInfoProvider.IsAuthorizedPerClass 未按预期工作

java - JxBrowser 6.1 JavaScript Java Bridge API 不起作用

android - 如何以编程方式从 Android 设备读取 RCS 消息

android - 我可以通过代码向同一 Android 设备发送 SMS,还是必须使用反向计费?

ruby-on-rails - ruby rails : Overwrite instance variable on Selenium tests