本文为您提供了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示例相关推荐

  1. ASP对接国际验证码接口DEMO示例

    本文为您提供了ASP语言版本的国际验证码接口对接DEMO示例 ,接口类型:互亿无线国际短信接口. ,账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG ,注意事项 ...

  2. ASP.NET(C#)对接国际验证码接口DEMO示例

    本文为您提供了ASP.NET(C#)语言版本的国际验证码接口对接DEMO示例 //接口类型:互亿无线国际短信接口. //账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX ...

  3. JSP对接国际验证码接口DEMO示例

    本文为您提供了JSP语言版本的国际验证码接口对接DEMO示例 String postUrl = "http://api.isms.ihuyi.com/webservice/isms.php? ...

  4. PHP对接国际验证码接口DEMO示例

    本文为您提供了PHP语言版本的国际验证码接口对接DEMO示例 /接口类型:互亿无线国际短信接口. //账户注册:请通过该地址开通账户 http://user.ihuyi.com/?AX7wLG //注 ...

  5. C++对接国际验证码接口DEMO示例

    //接口类型:互亿无线国际短信接口. // 账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG // 注意事项: //(1)调试期间,请仔细阅读接口文档: //( ...

  6. VB6对接语音验证码接口DEMO示例

    防刷单,避免固话.黑名单等短信盲区 有效 Private Sub Form_Load()Winsock1.Protocol = sckTCPProtocolWinsock1.RemoteHost = ...

  7. PYTHON对接国际验证码接口

    本文为您提供了PYTHON语言版本的国际验证码接口对接DEMO示例 #接口类型:互亿无线国际短信接口. #账户注册:请通过该地址开通账户 http://user.ihuyi.com/?AX7wLG # ...

  8. SHELL对接国际验证码接口

    本文为您提供了SHELL语言版本的国际验证码接口对接DEMO示例 #接口类型:互亿无线国际短信接口. #账户注册:请通过该地址开通账户http://user.ihuyi.com/?AX7wLG #注意 ...

  9. ASP对接语音通知接口DEMO示例

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%'接口类型:互亿无线语音通知接口.'账户注册:请通过该地址 ...

最新文章

  1. 在项目中使用JMail发送邮件
  2. python解析word_word文档的python解析
  3. 香帅的北大金融学课笔记11 -- 资产配置
  4. rac 火星舱如何备份oracle_Oracle数据库(RAC)巡检报告
  5. linux新手入门必看
  6. JAVA EXCEL API(jxl)简介
  7. Equipment download - No data contained in BDoc
  8. vim如何开启256色
  9. 提取多个字段_【博客翻译】建筑物轮廓线提取以及损坏分类
  10. keil uVision4 创建项目
  11. 关于tomcat 开启gc日志后每隔1小时full gc的问题
  12. java socket聊天_java_基于Java Socket实现一个简易在线聊天功能(一),最近做了一个项目,其中有一 - phpStudy...
  13. 【VHDL】VHDL设计一个分频器
  14. 511遇见易语言文本处理寻找文本
  15. MGMT_VIEW 用户的功能与作用
  16. 10大热门的物联网初创公司
  17. 微信小程序如何封装自己的组件?
  18. python帮拿王者荣耀金币
  19. 物联网外设学习笔记-语音识别模块
  20. jsp + servlet 通过a 标签下载文件

热门文章

  1. CentOS curl命令详解
  2. uni-app分享小程序页面给微信好友;小程序分享无效原因;小程序分享失败原因;
  3. 亚马逊html邮件,创建电子邮件模板 - Amazon Pinpoint
  4. faster R-CNN中anchors 的生成过程(generate_anchors源码解析)
  5. C++常见问题总结_构造函数与析构函数
  6. 计算机应用基础2020年最新档案,计算机应用基础 高职计算机大类专业 刁爱军项目三 人事档案管理.pptx...
  7. HBase系列2-HBase快速入门
  8. 软件测试永远的家——银行测试,YYDS
  9. flashback机制
  10. Python中NaN、nan和NAN的区别及使用方法