C对接国际验证码接口DEMO示例
本文为您提供了C语言版本的国际验证码接口对接DEMO示例
//接口类型:互亿无线国际短信接口。
//账户注册:请通过该地址开通账户 http://user.ihuyi.com/?AX7wLG
//注意事项:
//(1)调试期间,请仔细阅读接口文档;
//(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;
//(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <time.h>
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <arpa/inet.> #define IPSTR "api.isms.ihuyi.com"
#define PORT 80
#define BUFSIZE 1024//调试日期 2015-07-27
//linux下的编译方法 gcc -o sms sms.cint main(int argc, char **argv)
{int sockfd, ret, i, h,srandnum;struct sockaddr_in servaddr;char str1[4096], str2[4096], buf[BUFSIZE], *str;socklen_t len;fd_set t_set1;struct timeval tv;if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ) {printf("创建网络连接失败,本线程即将终止---socket error!\n");exit(0);};bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_port = htons(PORT);if (inet_pton(AF_INET, IPSTR, &servaddr.sin_addr) <= 0 ){printf("创建网络连接失败,本线程即将终止--inet_pton error!\n");exit(0);};if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0){printf("连接到服务器失败,connect error!\n");exit(0);}printf("与远端建立了连接\n");//发送数据//查看用户名 登录用户中心->国际验证码>产品总览->API接口信息->APIID//查看密码 登录用户中心->国际验证码>产品总览->API接口信息->APIKEYmemset(str2, 0, 4096);strcat(str2, "account=用户名&password=密码&mobile=189xxxxxxxx&content=Your verification code is 1125");str=(char *)malloc(128);len = strlen(str2);sprintf(str, "%d", len);memset(str1, 0, 4096);strcat(str1, "POST /webservice/isms.php?method=Submit&format=json HTTP/1.1\n");strcat(str1, "Host: api.isms.ihuyi.com\n");strcat(str1, "Content-Type: application/x-www-form-urlencoded\n");strcat(str1, "Content-Length: ");strcat(str1, str);strcat(str1, "\n\n");strcat(str1, str2);strcat(str1, "\r\n\r\n");printf("%s\n",str1);ret = write(sockfd,str1,strlen(str1));if (ret < 0) {printf("发送失败!错误代码是%d,错误信息是'%s'\n",errno, strerror(errno));exit(0);}else{printf("消息发送成功,共发送了%d个字节!\n\n", ret);}FD_ZERO(&t_set1);FD_SET(sockfd, &t_set1);while(1){sleep(2);tv.tv_sec= 0;tv.tv_usec= 0;h = 0;printf("--------------->1\r\n");h = select(sockfd +1, &t_set1, NULL, NULL, &tv);printf("--------------->2%d\r\n",h);//if (h == 0) continue;//break;if (h == 0) {close(sockfd);printf("连接关闭!\n");return 1;};if (h < 0) {close(sockfd);printf("在读取数据报文时SELECT检测到异常,该异常导致线程终止!\n");return -1;};if (h > 0){memset(buf, 0, 4096);i= read(sockfd, buf, 4095);if (i==0){close(sockfd);printf("读取数据报文时发现远端关闭,该线程终止!\n");return -1;}printf("%s\n", buf);}}close(sockfd);return 0;
}
C对接国际验证码接口DEMO示例相关推荐
- ASP对接国际验证码接口DEMO示例
本文为您提供了ASP语言版本的国际验证码接口对接DEMO示例 ,接口类型:互亿无线国际短信接口. ,账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG ,注意事项 ...
- ASP.NET(C#)对接国际验证码接口DEMO示例
本文为您提供了ASP.NET(C#)语言版本的国际验证码接口对接DEMO示例 //接口类型:互亿无线国际短信接口. //账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX ...
- JSP对接国际验证码接口DEMO示例
本文为您提供了JSP语言版本的国际验证码接口对接DEMO示例 String postUrl = "http://api.isms.ihuyi.com/webservice/isms.php? ...
- PHP对接国际验证码接口DEMO示例
本文为您提供了PHP语言版本的国际验证码接口对接DEMO示例 /接口类型:互亿无线国际短信接口. //账户注册:请通过该地址开通账户 http://user.ihuyi.com/?AX7wLG //注 ...
- C++对接国际验证码接口DEMO示例
//接口类型:互亿无线国际短信接口. // 账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG // 注意事项: //(1)调试期间,请仔细阅读接口文档: //( ...
- VB6对接语音验证码接口DEMO示例
防刷单,避免固话.黑名单等短信盲区 有效 Private Sub Form_Load()Winsock1.Protocol = sckTCPProtocolWinsock1.RemoteHost = ...
- PYTHON对接国际验证码接口
本文为您提供了PYTHON语言版本的国际验证码接口对接DEMO示例 #接口类型:互亿无线国际短信接口. #账户注册:请通过该地址开通账户 http://user.ihuyi.com/?AX7wLG # ...
- SHELL对接国际验证码接口
本文为您提供了SHELL语言版本的国际验证码接口对接DEMO示例 #接口类型:互亿无线国际短信接口. #账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG #注意 ...
- ASP对接语音通知接口DEMO示例
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%'接口类型:互亿无线语音通知接口.'账户注册:请通过该地址 ...
最新文章
- 在项目中使用JMail发送邮件
- python解析word_word文档的python解析
- 香帅的北大金融学课笔记11 -- 资产配置
- rac 火星舱如何备份oracle_Oracle数据库(RAC)巡检报告
- linux新手入门必看
- JAVA EXCEL API(jxl)简介
- Equipment download - No data contained in BDoc
- vim如何开启256色
- 提取多个字段_【博客翻译】建筑物轮廓线提取以及损坏分类
- keil uVision4 创建项目
- 关于tomcat 开启gc日志后每隔1小时full gc的问题
- java socket聊天_java_基于Java Socket实现一个简易在线聊天功能(一),最近做了一个项目,其中有一 - phpStudy...
- 【VHDL】VHDL设计一个分频器
- 511遇见易语言文本处理寻找文本
- MGMT_VIEW 用户的功能与作用
- 10大热门的物联网初创公司
- 微信小程序如何封装自己的组件?
- python帮拿王者荣耀金币
- 物联网外设学习笔记-语音识别模块
- jsp + servlet 通过a 标签下载文件
热门文章
- CentOS curl命令详解
- uni-app分享小程序页面给微信好友;小程序分享无效原因;小程序分享失败原因;
- 亚马逊html邮件,创建电子邮件模板 - Amazon Pinpoint
- faster R-CNN中anchors 的生成过程(generate_anchors源码解析)
- C++常见问题总结_构造函数与析构函数
- 计算机应用基础2020年最新档案,计算机应用基础 高职计算机大类专业 刁爱军项目三 人事档案管理.pptx...
- HBase系列2-HBase快速入门
- 软件测试永远的家——银行测试,YYDS
- flashback机制
- Python中NaN、nan和NAN的区别及使用方法