美联API:定义新方式
全面覆盖微服务、消息、数据等技术解决方案
API文档
代码示例
首页 > API文档 > 云服务器

调用C++说明

短信验证码C++接口文档下载:点击下载
普通短信发送
用户在遵循HTTP协议的前提下,可通过GET和POST方式提交短信发送请求
普通短信发送
短信可以提交不超过50000个手机号码,每个号码用英文逗号间隔。 (一次提交发送超过200个手机号码,请使用POST请求)

乱码问题解决方案:

1、GBK编码提交的首先urlencode短信内容(content),然后在API请求时,带入encode=gbk
2、UTF-8编码的将content 做urlencode编码后,带入encode=utf8或utf-8实例:http://m.5c.com.cn/api/send/index.php?username=XXX&password_md5=XXX&apikey=XXX&mobile=XXX&content=%E4%BD%A0%E5%A5%BD%E6%89%8D%E6%94%B6%E7%9B%8A%E9%9F%A6&encode=utf8

内容转码问题解决方案:

1、 UTF-8 转 GBK:$content = iconv("UTF-8","GBK//IGNORE",$content);
2、 GBK 转 UTF-8:$content = iconv("GBK","UTF-8",$content);

发送接口返回结果

序号 参数 说明
1 success:msgid 提交成功
2 error:Missing username 用户名为空
3 error:Missing password 密码为空
4 error:Missing apikey APIKEY为空
5 error:Missing recipient 手机号为空
6 error:Missing message content 短信内容为空
7 error:Account is blocked 账号被禁用
8 error:Unrecognized encoding 编码未能识别
9 error:APIKEY or password error APIKEY或密码错误
10 error:Unauthorized IP address 未授权 IP 地址
11 error:Account balance is insufficient 余额不足
C++代码示例:
#include <iostream>
#include <sys/socket.h>
#include <resolv.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string>
using namespace std;

int main()
{
    
    int s, error;
    struct sockaddr_in addr;

    if((s = socket(AF_INET,SOCK_STREAM,0))<0)
    {
    cout<<"Error 01: creating socket failed!\n";
    close(s);
    return 1;
    }

    addr.sin_family = AF_INET;
    addr.sin_port = htons(80);
    
    inet_aton("115.28.23.78",&addr.sin_addr); //请求API地址,如连接超时,可能是您服务器不支持域名解析,请将下面连接中的:【m.5c.com.cn】修改为IP:【115.28.23.78】
    
    error = connect(s,(sockaddr*)&addr,sizeof(addr));
    if(error!=0)
    {
    cout<<"Error 02: conecting to server failed!\n";
    close(s);
    return 1;
    }
    
    string message;
    message += "GET /api/send/index.php";
    message += "?username=用户名";
    message += "&apikey=APIKEY"; ////apikey秘钥(请登录 http://m.5c.com.cn 短信平台-->账号管理-->我的信息 中复制apikey)
    message += "&password_md5=密码"; //32位MD5密码加密,不区分大小写
    message += "&mobile=客户接收手机号"; //手机号,只发一个号码:13800000001。发多个号码:13800000001,13800000002,...N 。使用半角逗号分隔。
    message += "&content=";
    message += "%e6%82%a8%e7%9a%84%e9%aa%8c%e8%af%81%e7%a0%81%e6%98%af%ef%bc%9a123%e3%80%90%e7%be%8e%e8%81%94%e3%80%91"; //要发送的短信内容,特别注意:签名必须设置,如:【签名】
    message += "\r\n";

    send(s,message.c_str(),message.size(),0);
    
    int l = 0;
    char answ[1024];
    answ[0] = '\0';
    while((l = recv(s,answ,1024,0))!=0) {
    answ[l] = '\0';
    cout<<answ<<endl;
    }
    close(s);
    return 0;
}
联系我们
公众号
    扫描二维码关注
    微信ID:i5ComCn
增值电信业务经营许可证:B-20150482号 全国电信网码号证书:号[2016]00025-A01 ICP备案:京ICP备14058235号
Copyright © 2007-2017 MEILIAN Corporation, All Rights Reserved.

工商网监

经营单位

在线客服
点击在线咨询QQ客服
电话咨询 意见反馈
点击在线QQ反馈
  • 在线客服
  • 电话咨询
  • 意见反馈