A. java 編寫手機簡訊,高手賜教!!!
package examples;
import java.util.Scanner;
public class Entry {
public static void main(String args []) {
Scanner sc=new Scanner(System.in);
String pno,msg;
System.out.print("扮咐寬請輸入簡訊內容:");
msg=sc.nextLine();
System.out.println("廳亮請輸入目標手機號碼簡搭:");
pno=sc.nextLine();
ShortMesg newmsg=new ShortMesg();
newmsg.setPhoneNO(pno);
newmsg.setMessage(msg);
SendMesg send=new SendMesg(newmsg);
send.send();
}
}
class ShortMesg {
public ShortMesg() {
}
private String pno,msg;
public void setPhoneNO(String pno) {
this.pno=pno;
}
public String getPhoneNO() {
return this.pno;
}
public void setMessage( String msg) {
this.msg=msg;
}
public String getMessage() {
return this.msg;
}
}
class SendMesg {
private ShortMesg mms;
public SendMesg(ShortMesg mms) {
this.mms=mms;
}
public void send() {
System.out.println("簡訊內容: "+mms.getMessage());
System.out.println("目標手機: "+mms.getPhoneNO()+"\n");
}
}
B. java簡訊驗證碼要注意什麼問題
1、時間間隔
java簡訊驗證碼並不是你請求幾次都可以的。一般來講在同一個時刻同一部手機發送的同一個請求,一般次數上不會超過三次,時間間隔上會有一分鍾的限定,這是為了避免有些用戶頻繁無效的胡亂點擊或惡意搗亂,影響正常的系統工作,讓有需求的朋友無法正常完成驗證。
2、次數限制
如果遇到有些用戶總是大量的向後台發送請求,次數過多,頻率過大,同一個手機號一天的時間里,超過了一定次數的請求數,那麼該手機號會被認定為一個危險號,有可能會被系統列入黑名單之中,使得下次將無法實現請求驗證。
3、錯誤限定
當用戶對於同個類型的需求進行不斷的驗證,比如說更改密碼、注冊時發送的java簡訊驗證碼,在輸入時的錯誤次數也是有限制的。因為正常、規范的簡訊驗證碼的發送只用很短時間用戶就可以准確接收到,但如果用戶總是不能正確輸入,次數超過了三次的話,就會讓其驗證碼無效,避免有人惡意嘗試輸入,確保用戶的賬戶安全。
簡訊驗證碼在我們日常生活中扮演了及其重要的地位,是保障我們現在互聯網信息的主流安全手段,因此在開發java簡訊驗證碼以及後期的維護中,都不可忽略其安全性。java簡訊驗證碼接入廣東第五大道還可以,提供簡訊驗證碼測試。
C. 如何用Java實現簡訊自動發送功能
Java實現簡訊自動發送功能主要是用httpclient實現的,要有發簡訊的埠。
1、硬體設備是一個3G網卡;
2、軟體方面需要sun提過的java底層通信common包;
3、此外還需要第三方庫SMSLib,這個是開源項目,主要用於實現java發簡訊的功能;
主要代碼如下:
HttpClientclient=newHttpClient();
PostMethodpost=newPostMethod(
"http://cf.lmobile.cn/submitdata/service.asmx/g_Submit");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");//在頭文件中設置轉碼
NameValuePair[]data={newNameValuePair("sname","*****"),
newNameValuePair("spwd","*****"),
newNameValuePair("scorpid","*****"),
newNameValuePair("sprdid","*****"),
newNameValuePair("sdst","*****"),
newNameValuePair("smsg","*****")};
post.setRequestBody(data);
client.executeMethod(post);
Header[]headers=post.getResponseHeaders();
intstatusCode=post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Headerh:headers){
System.out.println(h.toString());
}
Stringresult=newString(post.getResponseBodyAsString().getBytes("utf-8"));
System.out.println(result);
post.releaseConnection();
D. 如何用Java實現簡訊自動發送功能
方法一:
1.web.xml中配置listener
<listener>
<listener-class>
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
</listener-class>
</listener>
2.創建listener
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
@Override
public void contextInitialized(ServletContextEvent sce) {
timer = new Timer(true);
//設置任務計劃,啟動和間隔時間
timer.schele(new MyTask(), 0, 3*60*1000);
//3分鍾
//timer.schele(new MyTask(), 0, 3*60*1000);
//在1秒後執行此任務,每次間隔2秒
//timer.schele(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.創建啟動的類MyTask
import java.util.Date;
import java.util.TimerTask;
public class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("call at " + (new Date()));
}
}
方法二:
spring 下實現定時工作的調度框架quartz
· 1。從http://quartz-scheler.org/下載quartz的開源包
quartz-1.7.3.tar.gz
3.07M
· 2。從quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到項目的classpath下
(放到webroot/WEB-INF/lib)下
· 3。定義一個需要時間調度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("數據備份任務啟動");
System.out.println("...");
System.out.println("數據備份任務完成");
}
}
· 4。剩餘的工作就都在spring xml文件里完成了
<!-- 被調度的bean -->
<bean id="job1" class="com.machome.quartz.CustomJob1"></bean>
<!-- 定義任務對象 -->
<bean id="jobtask1"
class="org.springframework.scheling.quartz.">
<!-- 被調度的bean -->
<property name="targetObject">
<ref bean="job1" />
</property>
<!-- 被調度的bean中的被調度的方法 -->
<property name="targetMethod">
<value>onTimeWork</value>
</property>
</bean>
<!-- 定義觸發對象 -->
<bean id="trigger1"
class="org.springframework.scheling.quartz.CronTriggerBean">
<!-- 任務對象 -->
<property name="jobDetail">
<ref bean="jobtask1" />
</property>
<!-- cron表達式 -->
<property name="cronExpression">
<value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
</property>
</bean>
<!-- 調度對象 -->
<!-- 如果將lazy-init='false'那麼容器啟動就會執行調度程序 -->
<bean id="scheler" lazy-init="false"
class="org.springframework.scheling.quartz.SchelerFactoryBean">
<!-- 觸發對象 -->
<property name="triggers">
<list>
<ref bean="trigger1" />
</list>
</property>
</bean>
· 5。 將spring 項目部署到TOMCAT或JBOSS伺服器上
deploy項目
重啟TOMCAT server
· 6。看結果:
cron表達式參考:Quartz的cron表達式
E. Java怎樣實現簡訊發送與接收
Java實現簡訊發送與接收
/**
*@Authordengsilinming
*@Date2012-9-18
*
*/
packagecom.dengsilinming.mail;
importjava.io.IOException;
importorg.apache.commons.httpclient.Header;
importorg.apache.commons.httpclient.HttpClient;
importorg.apache.commons.httpclient.HttpException;
importorg.apache.commons.httpclient.NameValuePair;
importorg.apache.commons.httpclient.methods.PostMethod;
publicclassSendMsg_webchinese{
/**
*@authordengsilinming
*@dateSep18,2012
*@time9:38:25AM
*@paramargs
*@throwsIOException
*@throwsHttpException
*@description
*/
publicstaticvoidmain(String[]args)throwsHttpException,IOException{
HttpClientclient=newHttpClient();
PostMethodpost=newPostMethod("http://gbk.sms.webchinese.cn");
//PostMethodpost=newPostMethod("http://sms.webchinese.cn/web_api/");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼
NameValuePair[]data={newNameValuePair("Uid","dengsilinming"),//注冊的用戶名
newNameValuePair("Key","72da78da5ff54f450505"),//注冊成功後,登錄網站後得到的密鑰
newNameValuePair("smsMob","12345678900"),//手機號碼
newNameValuePair("smsText","這是專用於測試的信息,能否正常發簡訊呢?")};//簡訊內容
post.setRequestBody(data);
client.executeMethod(post);
Header[]headers=post.getResponseHeaders();
intstatusCode=post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Headerh:headers){
System.out.println("---"+h.toString());
}
Stringresult=newString(post.getResponseBodyAsString().getBytes(
"gbk"));
System.out.println(result);
}
}
F. java 發送簡訊
有兩種方式:
1.和專門的服務商合作,按慎巧虧照他們提供的介面進行開發就可以,例如:北京的億美軟通就是做簡訊平台提供的。寬攔
2.購買專門的簡訊發送設備,通過接寬神口往設備埠進行簡訊的發送。
前者不但可以發送數據,還可以接受數據,獲得發送是否成功,並且提供統一的簡訊回復號,比如:98888之類的,後者需要買SIM卡,發送簡訊的號碼就是那個SIM卡的號碼。