以下是一个简单的Java发送短信的工具类示例:
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class SMSUtil {
private static final String SMS_API_ENDPOINT = "https://api.sms-provider.com/send_sms";
private static final String SMS_API_KEY = "your_api_key_here";
private static final String SMS_API_SECRET = "your_api_secret_here";
public static boolean sendSMS(String phoneNumber, String message) {
try {
String encodedMessage = URLEncoder.encode(message, "UTF-8");
String urlParameters = "api_key=" + SMS_API_KEY + "&api_secret=" + SMS_API_SECRET + "&to=" + phoneNumber + "&text=" + encodedMessage;
URL url = new URL(SMS_API_ENDPOINT);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.getOutputStream().write(urlParameters.getBytes("UTF-8"));
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// Check the response from the API to determine if the SMS was sent successfully
if (response.toString().contains("\"status\":\"success\"")) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
在使用此工具类时,您需要替换
SMS_API_ENDPOINT
,SMS_API_KEY
和SMS_API_SECRET
与您自己的API端点,API密钥和API密钥密码。然后,您可以使用以下代码调用它:
String phoneNumber = "1234567890";
String message = "Hello, this is a test message!";
boolean success = SMSUtil.sendSMS(phoneNumber, message);
if (success) {
System.out.println("SMS sent successfully");
} else {
System.out.println("Failed to send SMS");
}
请注意,此示例仅适用于您自己的短信API提供程序。其他提供商可能具有不同的API端点,API密钥和API密钥密码以及其他要求。