java 免费发送短信实例程序

时间:2021-04-20 19:19:48

接口来源:万网阿里云充值中心,

http://finance.aliyun.com/account/recharge.htm

选择"线下充值",则有一个输入手机号码,免费发送的功能。

本段代码需要引用commons-httpclient-3.1.jar  commons-io.jar 包,请求部分也可以使用其他方式,只要是post访问就行。

面的代码仅供学习,不能用作其他用途。

package com.google;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

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

public class SendSMS {
 public static void main(String[] args) {
  String url = "http://finance.aliyun.com/recharge/sendMessage.json";
  String token = "9ZuD6iN0aFDN2SzFjEMKuA";
  String mobile = "13800138000";
  String sendStr = "奇瑞丰 草根银行 8888 8888 8888 888";
  SendSMS ss = new SendSMS();
  String result = ss.getPostPage(url, mobile, sendStr, token);
  System.out.println(result);
 }

 public String getPostPage(String url, String mobile, String sendStr,
   String _csrf_token) {
  HttpClient client = new HttpClient();
  PostMethod method = new PostMethod(url);
  method.getParams().setContentCharset("utf-8");
  method.setRequestHeader("Accept",
    "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
  method.setRequestHeader("Accept-Encoding", "gzip,deflate,sdch");
  method.setRequestHeader("Accept-Language", "zh-CN,zh;q=0.8");
  method.setRequestHeader("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");
  method.setRequestHeader("Host", "finance.aliyun.com");
  method.setRequestHeader("Origin", "http://finance.aliyun.com");
  method.setRequestHeader("Connection", "Keep-Alive");
  method.setRequestHeader(
    "Referer",
    "http://finance.aliyun.com/account/recharge.htm?spm=0.0.0.0.elRHXV_0.0.0.0.uWxMEt");
  method.setRequestHeader(
    "User-Agent",
    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7");

  method.setRequestHeader(
    "Cookie",
    "JSESSIONID=UM5663B1-YORLH533CMAAD3D7NVG72-IDQ1HNPH-HA8; www_aliyun=5ugne0vg8ng4s69bgnbc8c1j23; login_aliyunid="admin@admin.com"; login_aliyunid_ticket=qIZCr6t7SGxRigm2Cb4fGaCdBZWIzmgdHq6sXXZQg4KFWufyvpeV*0*Cm58slMT1tJw3_l$$TPk34m6UmF8qM3z_ar76cgYPs0P6UIMBujw6KvAsYKof_BNpwU_TOTNChZBoeM1KJexdfb9zhYnsN5so0; login_aliyunid_csrf=_csrf_tk_1815088030290190; hssid=1WRqTEJuUmJU3dixAG_C7qQ1; hsite=6; hsts=1388030291344; cfp0=5FwuPCGHOOv2eKqzpHY5awfZXDm8gZY9mmWXuXkMRMdFqGPmDjaZaUGN%2B8VacgamIUkNOXJVj2q8ZbfLiSga1Wn0H0Ewtw8elLKTPS4qgsKFAfS88fki2CU5U7c9Cg9hvg9Uup%2BHkY8uoegROllFuoVTuLXJBuysWEDQA1p%2FY%2BLPNa5XWKRQzESsQs6WvspH9859ZPLFhpzLTQ%2B%2FY%2B2j24QJKF4VqYSKmMpjWW3EDwd2hKsO1xhbDu78Aotv10GDS6Amw3BOrXB%2FUImAwXwx%2FGZVqDlf0DjWg8DXoOPg1pIv5iSw9QxPYLLTdFF%2FS3lgiCJWzQGShIGfKpFHS21xaNCX0sqhhy%2BXKBNrD4z5X%2FaoyFYvdESFE9GuopYC4CAGQmFZ5CNMNI7Kes4tNvgc%2Bg%3D%3D; _ga=GA1.2.1860272764.1387960845");
  method.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  // 设置请求参数

  method.addParameter("mobile", mobile);
  method.addParameter("sendStr", sendStr);
  method.addParameter("_csrf_token", _csrf_token);

  String responseStr = "";
  try {
   client.executeMethod(method);
   // responseStr = method.getResponseBodyAsString();
   InputStream resStream = method.getResponseBodyAsStream();
   BufferedReader br = new BufferedReader(new InputStreamReader(
     resStream));
   StringBuffer resBuffer = new StringBuffer();
   String resTemp = "";
   while ((resTemp = br.readLine()) != null) {
    resBuffer.append(resTemp);
   }
   responseStr = resBuffer.toString();
   method.releaseConnection();

  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  return responseStr;

 }
}

请求之后,成功返回值:{"messageId":107913122600012591,"success":true,"tips":"200successful"}

如果没有返回,则表示发送失败,可能是session有问题。


-------------------------------------------------------------------------------------------------------

(注意)文章转载出自:http://www.android100.org/html/201407/24/45456.html