當前位置:首頁 » 編程語言 » java批量發送簡訊

java批量發送簡訊

發布時間: 2024-10-13 01:27:00

Ⅰ 用java調用簡訊介面給手機發送簡訊怎麼寫代碼介面已經有了,是一個url.

那你要做的就是向這個URL發送數據就好,給個例子:

publicclassHttptest1{
8
9publicstaticvoidmain(String[]args){
10
11URLurl=null;
12HttpURLConnectionconn=null;
13OutputStreamoutStream=null;
14InputStreaminStream=null;
15
16try{
17url=newURL("http://219.233.89.7:8090/cgi-bin/mailinterface");
18conn=(HttpURLConnection)url.openConnection();
19conn.setDoOutput(true);
20conn.setDoInput(true);
21
22StringsendXml="<?xmlversion="1.0"encoding="UTF-16"?><!DOCTYPESigMailCommandSYSTEM"SigMail.dtd">";//XML數據
23sendXml+="<SigMailCommandName="checkuser"><ParamName="domainname">test.com.cn</Param>";
24sendXml+="<ParamName="username">admin</Param></SigMailCommand>";
25
26outStream=conn.getOutputStream();
27
28//准備通過CONN對象寫入XML數據
29BufferedWriterbw=newBufferedWriter(newjava.io.OutputStreamWriter(outStream,
30"UTF-16"));
31bw.write(sendXml);
32bw.flush();
33bw.close();
34
35//DataOutputStreamdataOutStream=newDataOutputStream(outStream);
36//dataOutStream.writeChars(xml);
37//dataOutStream.flush();
38//dataOutStream.close();
39
40
41//准備通過CONN對象讀取返回的XML數據
42
43inStream=conn.getInputStream();
44StringBufferreturnXml=newStringBuffer("");
45BufferedReaderrd=newBufferedReader(newInputStreamReader(inStream,
46"UTF-16"));
47for(Stringline=null;(line=rd.readLine())!=null;){
48returnXml.append(line);
49}
50System.out.println(returnXml.toString());
51rd.close();
52}catch(IOExceptionex){
53ex.printStackTrace();
54}finally{
55try{
56if(outStream!=null)
57outStream.close();
58if(inStream!=null)
59inStream.close();
60if(conn!=null)
61conn.disconnect();
62}catch(IOExceptione){
63//TODO自動生成catch塊
64e.printStackTrace();
65}
66}
67
68}
69
70}

Ⅱ java簡訊驗證碼要注意什麼問題

1、時間間隔

java簡訊驗證碼並不是你請求幾次都可以的。一般來講在同一個時刻同一部手機發送的同一個請求,一般次數上不會超過三次,時間間隔上會有一分鍾的限定,這是為了避免有些用戶頻繁無效的胡亂點擊或惡意搗亂,影響正常的系統工作,讓有需求的朋友無法正常完成驗證。

2、次數限制

如果遇到有些用戶總是大量的向後台發送請求,次數過多,頻率過大,同一個手機號一天的時間里,超過了一定次數的請求數,那麼該手機號會被認定為一個危險號,有可能會被系統列入黑名單之中,使得下次將無法實現請求驗證。

3、錯誤限定

當用戶對於同個類型的需求進行不斷的驗證,比如說更改密碼、注冊時發送的java簡訊驗證碼,在輸入時的錯誤次數也是有限制的。因為正常、規范的簡訊驗證碼的發送只用很短時間用戶就可以准確接收到,但如果用戶總是不能正確輸入,次數超過了三次的話,就會讓其驗證碼無效,避免有人惡意嘗試輸入,確保用戶的賬戶安全。

簡訊驗證碼在我們日常生活中扮演了及其重要的地位,是保障我們現在互聯網信息的主流安全手段,因此在開發java簡訊驗證碼以及後期的維護中,都不可忽略其安全性。java簡訊驗證碼接入廣東第五大道還可以,提供簡訊驗證碼測試。

Ⅲ 如何用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表達式

Ⅳ java 非同步發送簡訊,非同步怎麼實現

java 非同步發送簡訊,非同步實現:
1,使用spring框架的非同步註解 @Async ,底層應該是一個線程。
2,簡單粗暴的方式:開一個線程
new Thread(new Runnable() {
public void run() {
//發送簡訊
}
}).start();
當然也可以高級一點,使用線程池。
3,更高端一點:使用消息隊列MQ

Ⅳ java怎麼實現群發簡訊的功能

JAVA實現簡訊群發的步驟:

1、使用第三方簡訊平台服務商,接入簡訊服務;

2、調用簡訊提交頁面發送請求;

3、伺服器向第三方簡訊平台提交發送請求;

4、簡訊平台通過運營商將簡訊下發至用戶的手機上。

以下是秒賽簡訊平台JAVA簡訊驗證碼介面代碼示例

package test;

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.net.URISyntaxException;

import java.net.URLEncoder;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.lang3.StringUtils;

public class Apis {

// 簡訊發送介面的http地址,請咨詢客服

private static String url = 「xxxxxxxxxxxxxxxxxxxxxxxxxxxx」;

// 編碼格式。發送編碼格式統一用UTF-8

private static String ENCODING = 「UTF-8」;

public static void main(String[] args) throws IOException, URISyntaxException {

// 賬號

String account = 「************************」;

// 密碼

String pswd = 「************************」;

// 修改為您要發送的手機號,多個用,分割

String mobile = 「13*********」;

// 設置您要發送的內容

String msg = 「【秒賽科技】您的驗證碼是:1234」;

// 發簡訊調用示例

System.out.println(Apis.send(account,pswd, mobile, msg));

}

/**

* 發送簡訊

*

* @param account

* account

* @param pswd

* pswd

* @param mobile

* 手機號碼

* @param content

* 簡訊發送內容

*/

public static String send(String account,String pswd, String mobile, String msg) {

NameValuePair[] data = { new NameValuePair(「account」, account),

new NameValuePair(「pswd」, pswd),

new NameValuePair(「mobile」, mobile),

new NameValuePair(「msg」, msg),

new NameValuePair(「needstatus」, 「true」),

new NameValuePair(「proct」, 「」) };

return doPost(url, data);

}

/**

* 基於HttpClient的post函數

* PH

* @param url

* 提交的URL

*

* @param data

* 提交NameValuePair參數

* @return 提交響應

*/

private static String doPost(String url, NameValuePair[] data) {

HttpClient client = new HttpClient();

PostMethod method = new PostMethod(url);

// method.setRequestHeader(「ContentType」,

// 「application/x-www-form-urlencoded;charset=UTF-8」);

method.setRequestBody(data);

// client.getParams()。setContentCharset(「UTF-8」);

client.getParams()。setConnectionManagerTimeout(10000);

try {

client.executeMethod(method);

return method.getResponseBodyAsString();

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

熱點內容
安卓版瀏覽器的收藏在哪裡 發布:2024-10-13 03:45:13 瀏覽:650
資料庫分量 發布:2024-10-13 03:36:52 瀏覽:189
安卓系統變為什麼系統 發布:2024-10-13 03:24:52 瀏覽:847
華為4x重置密碼是多少 發布:2024-10-13 03:08:31 瀏覽:279
榮放安卓屏的藍牙如何關閉 發布:2024-10-13 02:50:49 瀏覽:57
c語言學完 發布:2024-10-13 02:28:52 瀏覽:611
酒商城源碼 發布:2024-10-13 01:58:54 瀏覽:137
我的世界伺服器圈地設計 發布:2024-10-13 01:46:16 瀏覽:219
配置升級到什麼型號好 發布:2024-10-13 01:38:35 瀏覽:195
面試java基礎 發布:2024-10-13 01:38:34 瀏覽:893