我有短信服务器,我想从我的java网络应用程序发送和接收短信。 我是怎么做到的?
谢谢,
答案 0 :(得分:0)
通常,您可以通过HTTP API使用SMS服务器,例如发送请求
http://your-server-name/sendSms?nr=55534563&msg=hello+world
您应该在服务器的文档中查找确切的信息。
有关如何发送HTTP请求的一般示例,请参阅this answer (GET) and this answer (POST)。
答案 1 :(得分:0)
根据您的短信网关API规范,您必须:
看看这个example of SMS api specifications,它还包括几个不同编程语言的代码示例。
答案 2 :(得分:0)
有 Ogham 库。发送短信的代码很容易编写(它会自动处理字符编码和消息拆分)。真正的 SMS 使用 SMPP 协议(标准 SMS 协议)或通过提供商 API 发送。 您甚至可以使用 SMPP 服务器在本地测试您的代码,以便在支付真正的 SMS 发送费用之前检查您的 SMS 的结果。 由于采用SMPP标准协议,所以可以使用很多提供商。
package fr.sii.ogham.sample.standard.sms;
import java.util.Properties;
import fr.sii.ogham.core.builder.MessagingBuilder;
import fr.sii.ogham.core.exception.MessagingException;
import fr.sii.ogham.core.service.MessagingService;
import fr.sii.ogham.sms.message.Sms;
public class BasicSample {
public static void main(String[] args) throws MessagingException {
// [PREPARATION] Just do it once at startup of your application
// configure properties (could be stored in a properties file or defined
// in System properties)
Properties properties = new Properties();
properties.setProperty("ogham.sms.smpp.host", "<server host given by the provider>"); // <1>
properties.setProperty("ogham.sms.smpp.port", "<server port given by the provider>"); // <2>
properties.setProperty("ogham.sms.smpp.system-id", "<system ID given by the provider>"); // <3>
properties.setProperty("ogham.sms.smpp.password", "<password given by the provider>"); // <4>
properties.setProperty("ogham.sms.from.default-value", "<phone number to display for the sender>"); // <5>
// Instantiate the messaging service using default behavior and
// provided properties
MessagingService service = MessagingBuilder.standard() // <6>
.environment()
.properties(properties) // <7>
.and()
.build(); // <8>
// [/PREPARATION]
// [SEND A SMS]
// send the sms using fluent API
service.send(new Sms() // <9>
.message().string("sms content")
.to("+33752962193"));
// [/SEND A SMS]
}
}
还有许多其他的 features 和 samples / spring samples。