短信接口api、聚合科技、

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

/**
*短信API服务调用示例代码 - 聚合数据
*在线接口文档:http://www.juhe.cn/docs/54
**/

public class JuheDemo {
    public static final String DEF_CHATSET = "UTF-8";
    public static final int DEF_CONN_TIMEOUT = 30000;
    public static final int DEF_READ_TIMEOUT = 30000;
    public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";

    //配置您申请的KEY
    public static final String APPKEY ="*************************";

    //1.屏蔽词检查测
    public static void getRequest1(){
        String result =null;
        String url ="http://v.juhe.cn/sms/black";//请求接口地址
        Map params = new HashMap();//请求参数
            params.put("word","");//需要检测的短信内容,需要UTF8 URLENCODE
            params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

        try {
            result =net(url, params, "GET");
            JSONObject object = JSONObject.fromObject(result);
            if(object.getInt("error_code")==0){
                System.out.println(object.get("result"));
            }else{
                System.out.println(object.get("error_code")+":"+object.get("reason"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //2.发送短信
    public static void getRequest2(){
        String result =null;
        String url ="http://v.juhe.cn/sms/send";//请求接口地址
        Map params = new HashMap();//请求参数
            params.put("mobile","");//接收短信的手机号码
            params.put("tpl_id","");//短信模板ID,请参考个人中心短信模板设置
            params.put("tpl_value","");//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a>
            params.put("key",APPKEY);//应用APPKEY(应用详细页查询)
            params.put("dtype","");//返回数据的格式,xml或json,默认json

        try {
            result =net(url, params, "GET");
            JSONObject object = JSONObject.fromObject(result);
            if(object.getInt("error_code")==0){
                System.out.println(object.get("result"));
            }else{
                System.out.println(object.get("error_code")+":"+object.get("reason"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {

    }

    /**
     *
     * @param strUrl 请求地址
     * @param params 请求参数
     * @param method 请求方法
     * @return  网络请求字符串
     * @throws Exception
     */
    public static String net(String strUrl, Map params,String method) throws Exception {
        HttpURLConnection conn = null;
        BufferedReader reader = null;
        String rs = null;
        try {
            StringBuffer sb = new StringBuffer();
            if(method==null || method.equals("GET")){
                strUrl = strUrl+"?"+urlencode(params);
            }
            URL url = new URL(strUrl);
            conn = (HttpURLConnection) url.openConnection();
            if(method==null || method.equals("GET")){
                conn.setRequestMethod("GET");
            }else{
                conn.setRequestMethod("POST");
                conn.setDoOutput(true);
            }
            conn.setRequestProperty("User-agent", userAgent);
            conn.setUseCaches(false);
            conn.setConnectTimeout(DEF_CONN_TIMEOUT);
            conn.setReadTimeout(DEF_READ_TIMEOUT);
            conn.setInstanceFollowRedirects(false);
            conn.connect();
            if (params!= null && method.equals("POST")) {
                try {
                    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                        out.writeBytes(urlencode(params));
                } catch (Exception e) {
                    // TODO: handle exception
                }
            }
            InputStream is = conn.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sb.append(strRead);
            }
            rs = sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                reader.close();
            }
            if (conn != null) {
                conn.disconnect();
            }
        }
        return rs;
    }

    //将map型转为请求参数型
    public static String urlencode(Map<String,Object>data) {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry i : data.entrySet()) {
            try {
                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }
}

   原网址:https://www.juhe.cn/docs/api/id/54

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import java.util.HashMap;

import java.util.Map;

import net.sf.json.JSONObject;

/**

*短信API服务调用示例代码 - 聚合数据

*在线接口文档:http://www.juhe.cn/docs/54

**/

public class JuheDemo {

    public static final String DEF_CHATSET = "UTF-8";

    public static final int DEF_CONN_TIMEOUT = 30000;

    public static final int DEF_READ_TIMEOUT = 30000;

    public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";

    //配置您申请的KEY

    public static final String APPKEY ="*************************";

    //1.屏蔽词检查测

    public static void getRequest1(){

        String result =null;

        String url ="http://v.juhe.cn/sms/black";//请求接口地址

        Map params = new HashMap();//请求参数

            params.put("word","");//需要检测的短信内容,需要UTF8 URLENCODE

            params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

        try {

            result =net(url, params, "GET");

            JSONObject object = JSONObject.fromObject(result);

            if(object.getInt("error_code")==0){

                System.out.println(object.get("result"));

            }else{

                System.out.println(object.get("error_code")+":"+object.get("reason"));

            }

        catch (Exception e) {

            e.printStackTrace();

        }

    }

    //2.发送短信

    public static void getRequest2(){

        String result =null;

        String url ="http://v.juhe.cn/sms/send";//请求接口地址

        Map params = new HashMap();//请求参数

            params.put("mobile","");//接收短信的手机号码

            params.put("tpl_id","");//短信模板ID,请参考个人中心短信模板设置

            params.put("tpl_value","");//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a>

            params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

            params.put("dtype","");//返回数据的格式,xml或json,默认json

        try {

            result =net(url, params, "GET");

            JSONObject object = JSONObject.fromObject(result);

            if(object.getInt("error_code")==0){

                System.out.println(object.get("result"));

            }else{

                System.out.println(object.get("error_code")+":"+object.get("reason"));

            }

        catch (Exception e) {

            e.printStackTrace();

        }

    }

    public static void main(String[] args) {

    }

    /**

     *

     * @param strUrl 请求地址

     * @param params 请求参数

     * @param method 请求方法

     * @return  网络请求字符串

     * @throws Exception

     */

    public static String net(String strUrl, Map params,String method) throws Exception {

        HttpURLConnection conn = null;

        BufferedReader reader = null;

        String rs = null;

        try {

            StringBuffer sb = new StringBuffer();

            if(method==null || method.equals("GET")){

                strUrl = strUrl+"?"+urlencode(params);

            }

            URL url = new URL(strUrl);

            conn = (HttpURLConnection) url.openConnection();

            if(method==null || method.equals("GET")){

                conn.setRequestMethod("GET");

            }else{

                conn.setRequestMethod("POST");

                conn.setDoOutput(true);

            }

            conn.setRequestProperty("User-agent", userAgent);

            conn.setUseCaches(false);

            conn.setConnectTimeout(DEF_CONN_TIMEOUT);

            conn.setReadTimeout(DEF_READ_TIMEOUT);

            conn.setInstanceFollowRedirects(false);

            conn.connect();

            if (params!= null && method.equals("POST")) {

                try {

                    DataOutputStream out = new DataOutputStream(conn.getOutputStream());

                        out.writeBytes(urlencode(params));

                catch (Exception e) {

                    // TODO: handle exception

                }

            }

            InputStream is = conn.getInputStream();

            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));

            String strRead = null;

            while ((strRead = reader.readLine()) != null) {

                sb.append(strRead);

            }

            rs = sb.toString();

        catch (IOException e) {

            e.printStackTrace();

        finally {

            if (reader != null) {

                reader.close();

            }

            if (conn != null) {

                conn.disconnect();

            }

        }

        return rs;

    }

    //将map型转为请求参数型

    public static String urlencode(Map<String,Object>data) {

        StringBuilder sb = new StringBuilder();

        for (Map.Entry i : data.entrySet()) {

            try {

                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");

            catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }

        }

        return sb.toString();

    }

}

原文地址:https://www.cnblogs.com/yxs98/p/11215487.html

时间: 2024-10-20 12:14:00

短信接口api、聚合科技、的相关文章

Redis实践操作之—— 直播视频定时控制【TCP长连接框架(WorkerMan)+键空间通知的机制 ( Keyspace Notifications)+短信接口(API)】

一.思路梳理 同步直播视频到Redis 用户观看直播模板,点击直播按钮,检查是否有权限. 直播定时免费观看(免费观看10分钟),用户点击播放按钮开始,异步检查获取直播活动设置的免费观看时间(后台维护人员设置,Redis的hash存储信息),是否是直播. 是直播视频:判断该客户是否已经观看过了免费的20分钟时间, 没有看过,则获取该直播视频的免费时间根据活动ID,同时设置该直播视频的过期时间(只针对该用户自己哦),返回个模板,说:这个人可以观看的. 直播视频已经看过了,则不可以继续观看哦!嘻嘻..

企业信使短信接口API代码示例

PHP 代码实例<?php/** Created by Zhongxinrongda. Date: 2017/3/3 Time: 14:34 功能:云信通企业信使短信接口类 说明:一下代码只是提供简单的功能,方便客户的测试,如有其他需求,客户可根据实际自行更改代码./class smsApi{/* @param string $sms_send_url 短信发送接口url @param string $sms_query_url 短信余额查询接口url @param string $userid

短信接口API

/** * Created by bingone on 15/12/16. */ import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apach

聚合API-短信接口,THINKPHP整合聚合api短信接口

觉得发个短信验证码挺简单的,但是之前没写过,就想写一个看看,阿里大于的太贵了,只能用其他平台的数据接口, 第一步:聚合官网登录.注册,网址如下:https://www.juhe.cn/login(登录),https://www.juhe.cn/register(注册) 第二步:申请数据-短信api服务,网址如下:https://www.juhe.cn/docs/api/id/54,申请数据, 申请的时候送10条数据,如果想以后也想用,可以选择现在特价的9元300条数据. 第三步:进入个人中心,我

短信接口调用——阿里大于API开发心得

互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短信费用是计数缴纳的,作为个人开发者,我使用的服务产生的费用为0.45¥/条(10万条以下). 现在要实现一个例会短信群发通知的功能,所有被通知对象信息均存于Mysql中,应用架构采用asp.net MVC .首先准备好获取的API各项(以下各项服务参数都需要在大于官网上申请), 申请好自己的短信签名

Java 使用阿里云短信的API接口

亲们上午好,写的不好的地方还望指正.谢谢各位! 引言 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码.短信通知等.(我这里只讲一个最基本的短信的发送验证码的功能) 1.第一步咱们先把环境准备好   1.1首先必须在阿里云注册一个账号,或者使用自己的淘宝账号支付宝账号 都是一样的  然后进行实名认证   1.2咱们进入控制台(在以上步骤的准备好的情况下) 然后点击左上角的产品 进来之后会叫你开通  点击开通即可  我的开通了 就

关于手机短信接口优化

项目:目前需要支持手机号码注册,流程如下: 1)用户输入手机号码 2)点击获取手机校验码 3)收到短信息后,填入验证码.完成注册 有个问题,在项目中前期设计问题,导致短信接口被恶意调用. 调整方案: 网络提供方案: 推荐的对接方式:1.流程限定--将手机短信验证和用户名密码设置分成两个步骤,用户在注册成功用户名密码后,下一步才进行手机短信验证.(推荐)2.绑定图型校验码--将图形校验码和手机验证码进行绑定,这样能比较有效的防止软件恶意点击.(推荐) 不推荐的对接方式:3.短信发送间隔设置--设置

阿里大鱼短信接口

阿里大于短信验证实现完整代码分享 http://bbs.2ccc.com/topic.asp?topicid=515649 补充:跨平台的例子可以去csdn下载这位大神的demo http://download.csdn.net/detail/hansxia888/9603061 1 这两天搞那个sign,搞的烦躁,问了一下论坛的那位同学,开口500. 2 唉,delphi这种偏门的就是这样,啥都贵. 3 后来想想用C#按阿里那边的帮助文档写了个,可以正常发送.然后把C#翻译成Delphi就可以

关于中国电信天翼开放平台短信接口的一些使用

关于获取访问令牌的部分的说明: 天翼短信接口的开发文档链接:http://open.189.cn/index.php?m=content&c=index&a=lists&catid=62 实际上获取令牌非常简单,就是根据短信接口的说明把接口地址和要求的参数组装好,然后发送一个post请求,然后就能够获取到返回的json格式的字符串. 根据刚刚上面的短信接口开放文档说明,我们选择获取令牌最简单的方式,也就是文档里的"应用场合二", 应用场合二:在oAuth 2.0