【发布时间】:2016-09-29 23:53:58
【问题描述】:
以下代码是用JAVA语言发送短信,
import java.net.*;
import java.io.*;
import java.util.Scanner;
public class site2sms
{
//Replace your site2sms username and password below
static final String _userName = "username";
static final String _password = "password";
static final String _url = "http://smsapi.cikly.in/index.php";
//static final String _url = "http://smsapi.cikly.in/index.php";
//static final String _url = "http://www.site2sms.com/user/send_sms_next.asp";
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] = "site2sms";
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
{
System.out.println("hi!hello");
//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);
System.out.println(br.readLine());
}
public static void main(String [] args) throws Exception
{
System.out.println("enter Mobile No:");
Scanner scanIn = new Scanner(System.in);
String testPhoneNo = scanIn.nextLine();
scanIn.close();
String testMessage = "Sending Messages From java is not too hard";
sendMessage(testPhoneNo,testMessage);
}
}
当我运行程序时,没有编译错误,也没有运行时错误,但是消息没有发送到相应的号码。
请帮助我,任何建议都可以接受。
感谢和问候,
【问题讨论】:
-
问题是什么?
-
我需要通过短信网关(如 way2sms 或 site2sms)使用 java 发送短信
-
他问:“问题是什么?”你回答:“我需要做 x” 这既不是他问题的答案,也不是问题本身。请编辑您的问题,使其成为一个
-
好的,我无法从上述程序发送短信。所以我只想知道程序中是否有任何错误,或者替代解决方案。