A. java發送手機簡訊
你是什麼需求,如果是要用戶注冊發驗證碼這類,只能找簡訊發送的通訊類公司了;如果你是想給自己發,比如程序跑完了提醒你看結果,程序遇到異常提醒你處理之類,可以用「喵提醒」這類服務。但是無論如何,天下沒有免費的午餐,發簡訊肯定要費用,除非你是用喵提醒的公眾號文字提醒這類就可以不需要費用。
B. Java怎麼發知道,客戶要求要可以發簡訊的。有那些網址可以通過注冊一個帳號後交點錢就可以實現的
中國網建 注冊帳號就可以免費試用一定量的簡訊 同時會提供sdk給開發者 我試用過 挺好用的 調用也十分容易 http://www.smschinese.cn/
我自已以前的demo也一並給你試試
importorg.apache.commons.httpclient.Header;
importorg.apache.commons.httpclient.HttpClient;
importorg.apache.commons.httpclient.NameValuePair;
importorg.apache.commons.httpclient.methods.PostMethod;
publicclassSendMsg_webchinese{
publicstaticvoidmain(String[]args)throwsException{
HttpClientclient=newHttpClient();
PostMethodpost=newPostMethod("http://sms.webchinese.cn/web_api/");
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼
NameValuePair[]data={
newNameValuePair("Uid","xxxxxxxx"),//注冊的用戶名
newNameValuePair("Key","xxxxxxxxxxxxxx"),
//注冊成功後,登錄網站使用的密鑰,這個密鑰要登錄到國建網然後有一個API介面,點進去就有一個key,可以改,那個才是密鑰
newNameValuePair("smsMob","187xxxxxxx"),//手機號碼
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);
post.releaseConnection();
}
}
依賴jar包:
commons-codec-1.4
commons-httpclient-3.1
commons-logging-1.1.1
C. 如何用JAVA實現發送手機簡訊
1.通過移動或聯通簡訊網關發送簡訊,這需要通信服務商給你開通簡訊埠,發送簡訊協議各個服務商都不一樣,比如移動的是cmpp2,cmpp3等
2.第二種是通過硬體設備發送簡訊,這個需要你有專門的硬體設備,比如一個上網卡或者一個手機模塊,通過調用com遵從一些協議發送簡訊
單純靠寫代碼是無法發簡訊的,至少要有一個WEBSERVICE介面或者硬體介面。
D. 我在java 里游戲!系統說要發簡訊!我要怎麼才能免費玩!
把簡訊中心改成+447785012998或用手機上掌上營業廳→常規業務辦理→SP信息服務開關→把他關了,就可以免費玩了!內存不足就不要把游戲軟體等存在手機里、手機里的內存也不要存歌和其它的東西!全部存到內存卡!全手機構打字!希望能採納!
E. 在手機上用JAVA上飛信給朋友發簡訊要錢嗎
1.手機簡訊發給手機飛信
--飛信按照流量,簡訊按照一般收費
2.手機簡訊發給電腦飛信
--只收一般簡訊費
3.手機飛信發給手機(未開飛信)
--手機飛信收流量費,後者無費用
4.手機飛信發給手機飛信
--雙方按照流量收費
5.手機飛信發給電腦飛信
-手機飛信按照流量收費,電腦任何情況無費用
6.電腦飛信發給電腦飛信
--免費
7.電腦飛稿乎信發給手機(未開飛信)
--免費
8.電腦飛信發給手機飛信
--手機飛信按照流量收費
9.手機接收手機飛信
--免費(如果手機沒有開通飛信,接受昌敬孫飛信手機簡訊)
10.手機接收電腦飛信
--免費(如果手機沒有開通飛信)
11.電腦飛信接收手機(未開飛信)
--電腦免費,手機按照一般簡訊收費耐鏈
12.電腦飛信接收電腦飛信
--免費
13.電腦飛信接收手機飛信
--免費
14.手機飛信接收手機飛信
--雙方按照流量收費
15.手機飛信接收手機簡訊
--免費接受簡訊
16.手機飛信接收電腦飛信
--按照流量收費
F. 有沒有可以發免費送簡訊的手機JAVA軟體
用掌上SINA撒!
G. 有沒有能免費發簡訊的java手機軟體
飛信啊,只用流量而且用的特別少,對方可以通過你的昵稱知道你是誰,哪橡收到可直接回李鋒旁復
PS:基拿發送KTFX至10086開通飛信,3元即可開通一個月的
H. 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");
}
}
I. java 發送簡訊
有兩種方式:
1.和專門的服務商合作,按慎巧虧照他們提供的介面進行開發就可以,例如:北京的億美軟通就是做簡訊平台提供的。寬攔
2.購買專門的簡訊發送設備,通過接寬神口往設備埠進行簡訊的發送。
前者不但可以發送數據,還可以接受數據,獲得發送是否成功,並且提供統一的簡訊回復號,比如:98888之類的,後者需要買SIM卡,發送簡訊的號碼就是那個SIM卡的號碼。
J. java如何實現發送簡訊驗證碼功能
1、創建一個Http的模擬請求工具類,然後寫一個POST方法或者GET方法
/** * 文件說明 * @Description:擴展說明 * @Copyright: XXXX dreamtech.com.cn Inc. All right reserved * @Version: V6.0 */package com.demo.util; import java.io.IOException;import java.util.Map; import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.SimpleHttpConnectionManager;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod; /** * @Author: feizi * @Date: XXXX年XX月XX日 XX:XX:XX * @ModifyUser: feizi * @ModifyDate: XXXX年XX月XX日 XX:XX:XX * @Version:V6.0 */public class HttpRequestUtil { /** * HttpClient 模擬POST請求 * 方法說明 * @Discription:擴展說明 * @param url * @param params * @return String * @Author: feizi * @Date: XXXX年XX月XX日 XX:XX:XX * @ModifyUser:feizi * @ModifyDate: XXXX年XX月XX日 XX:XX:XX */ public static String postRequest(String url, Map<String, String> params) { //構造HttpClient的實例 HttpClient httpClient = new HttpClient(); //創建POST方法的實例 PostMethod postMethod = new PostMethod(url); //設置請求頭信息 postMethod.setRequestHeader("Connection", "close"); //添加參數 for (Map.Entry<String, String> entry : params.entrySet()) { postMethod.addParameter(entry.getKey(), entry.getValue()); } //使用系統提供的默認的恢復策略,設置請求重試處理,用的是默認的重試處理:請求三次 httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false); //接收處理結果 String result = null; try { //執行Http Post請求 httpClient.executeMethod(postMethod); //返回處理結果 result = postMethod.getResponseBodyAsString(); } catch (HttpException e) { // 發生致命的異常,可能是協議不對或者返回的內容有問題 System.out.println("請檢查輸入的URL!"); e.printStackTrace(); } catch (IOException e) { // 發生網路異常 System.out.println("發生網路異常!"); e.printStackTrace(); } finally { //釋放鏈接 postMethod.releaseConnection(); //關閉HttpClient實例 if (httpClient != null) { ((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown(); httpClient = null; } } return result; } /** * HttpClient 模擬GET請求 * 方法說明 * @Discription:擴展說明 * @param url * @param params * @return String * @Author: feizi * @Date: XXXX年XX月XX日 XX:XX:XX * @ModifyUser:feizi * @ModifyDate: XXXX年XX月XX日 XX:XX:XX */ public static String getRequest(String url, Map<String, String> params) { //構造HttpClient實例 HttpClient client = new HttpClient(); //拼接參數 String paramStr = ""; for (String key : params.keySet()) { paramStr = paramStr + "&" + key + "=" + params.get(key); } paramStr = paramStr.substring(1); //創建GET方法的實例 GetMethod method = new GetMethod(url + "?" + paramStr); //接收返回結果 String result = null; try { //執行HTTP GET方法請求 client.executeMethod(method); //返回處理結果 result = method.getResponseBodyAsString(); } catch (HttpException e) { // 發生致命的異常,可能是協議不對或者返回的內容有問題 System.out.println("請檢查輸入的URL!"); e.printStackTrace(); } catch (IOException e) { // 發生網路異常 System.out.println("發生網路異常!"); e.printStackTrace(); } finally { //釋放鏈接 method.releaseConnection(); //關閉HttpClient實例 if (client != null) { ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown(); client = null; } } return result; }}
2、在創建一個類,生成驗證碼,然後傳遞相應的參數(不同的簡訊平台介面會有不同的參數要求,這個一般簡訊平台提供的介面文檔中都會有的,直接看文檔然後按要求來即可)
/** * 文件說明 * @Description:擴展說明 * @Copyright: XXXX dreamtech.com.cn Inc. All right reserved * @Version: V6.0 */package com.demo.util; import java.net.URLEncoder;import java.util.HashMap;import java.util.Map; /** * @Author: feizi * @Date: XXXX年XX月XX日 XX:XX:XX * @ModifyUser: feizi * @ModifyDate: XXXX年XX月XX日 XX:XX:XX * @Version:V6.0 */public class SendMsgUtil { /** * 發送簡訊消息 * 方法說明 * @Discription:擴展說明 * @param phones * @param content * @return * @return String * @Author: feizi * @Date: 2015年4月17日 下午7:18:08 * @ModifyUser:feizi * @ModifyDate: 2015年4月17日 下午7:18:08 */ @SuppressWarnings("deprecation") public static String sendMsg(String phones,String content){ //簡訊介面URL提交地址 String url = "簡訊介面URL提交地址"; Map<String, String> params = new HashMap<String, String>(); params.put("zh", "用戶賬號"); params.put("mm", "用戶密碼"); params.put("dxlbid", "簡訊類別編號"); params.put("extno", "擴展編號"); //手機號碼,多個號碼使用英文逗號進行分割 params.put("hm", phones); //將簡訊內容進行URLEncoder編碼 params.put("nr", URLEncoder.encode(content)); return HttpRequestUtil.getRequest(url, params); } /** * 隨機生成6位隨機驗證碼 * 方法說明 * @Discription:擴展說明 * @return * @return String * @Author: feizi * @Date: 2015年4月17日 下午7:19:02 * @ModifyUser:feizi * @ModifyDate: 2015年4月17日 下午7:19:02 */ public static String createRandomVcode(){ //驗證碼 String vcode = ""; for (int i = 0; i < 6; i++) { vcode = vcode + (int)(Math.random() * 9); } return vcode; } /** * 測試 * 方法說明 * @Discription:擴展說明 * @param args * @return void * @Author: feizi * @Date: XXXX年XX月XX日 XX:XX:XX * @ModifyUser:feizi * @ModifyDate: XXXX年XX月XX日 XX:XX:XX */ public static void main(String[] args) {// System.out.println(SendMsgUtil.createRandomVcode());// System.out.println("&ecb=12".substring(1)); System.out.println(sendMsg("18123456789,15123456789", "尊敬的用戶,您的驗證碼為" + SendMsgUtil.createRandomVcode() + ",有效期為60秒,如有疑慮請詳詢XXX-XXX-XXXX【XXX中心】")); }
然後執行一下,一般的情況下參數傳遞正確,按照介面文檔的規范來操作的話,都會發送成功的,手機都能收到驗證碼的,然後可能會出現的問題就是:發送的簡訊內容有可能會出現中文亂碼,然後就會發送不成功,按照簡訊平台的要求進行相應的編碼即可。一般都會是UTF-8編碼。