例子只提供发送接口示例,其他接口调用方法雷同!
PHP JAVA Python ASP.NET ASP C/C++
C/C++
发送短信请求示例
#include<stdio.h>
#include <malloc.h>
#include <string.h>
#include <conio.h>
#include <winsock2.h> #pragma comment(lib, "ws2_32.lib") SOCKET sockfd = 0; void SocketPost( char *msg, char *retmsg) { char request[4096]=""; char buffer[1024]=""; struct sockaddr_in server_addr; if((sockfd=socket(AF_INET,SOCK_STREAM,0)) == -1) { closesocket( sockfd); return ; } server_addr.sin_family=AF_INET; server_addr.sin_port=htons(80); server_addr.sin_addr.s_addr = inet_addr("219.136.252.188"); if(connect(sockfd, (struct sockaddr*)&server_addr, sizeof(sockaddr_in)) == -1) { closesocket( sockfd ); return ; } sprintf(request, "POST /LANZGateway/DirectSendSMSs.asp HTTP/1.1\r\n" "Accept: */*\r\n" "Connection: Keep-Alive\r\n" "Content-Type: application/x-www-form-urlencoded\r\n" "Host: 域名\r\n" "Content-Length: %d\r\n" "\r\n" "%s", strlen(msg),msg); int nbytes = strlen(request); int ERR= send(sockfd, request, nbytes, 0); if(ERR != nbytes) { closesocket( sockfd ); return ; } //printf("WRITE: \r\n%s\n", request); nbytes= recv( sockfd, buffer, 4096, 0); if(nbytes <= 0) { closesocket( sockfd ); return ; } //去掉返回头部信息 char *m_buffer = buffer;; char*p=NULL; int nL =0; p = strstr(m_buffer,"Date"); m_buffer = p + 4; p = strstr(m_buffer,"\r\n"); m_buffer = p + 4; nL = p-buffer ; sprintf(retmsg, "%s", buffer+nL+4); printf("%s\n", retmsg); } void main() { CoInitialize(NULL); WSADATA wsaData; WSAStartup( MAKEWORD( 2, 2 ), &wsaData ); BOOL bReuseaddr=TRUE; setsockopt( sockfd, SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); BOOL bNodelay=TRUE; setsockopt( sockfd, IPPROTO_TCP,TCP_NODELAY,(const char*)&bNodelay,sizeof(BOOL)); int nNetTimeout=1000;//1秒 setsockopt( sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&nNetTimeout,sizeof(int)); setsockopt( sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&nNetTimeout,sizeof(int)); char Data[1024]; memset(Data,0,sizeof(Data)); strcpy(Data,"UserID=999999&Account=lanz2016&Password=735FF0028B7831D2783DD7EE98E3095DB94A1D64 &Content=您的注册验证码为8268,该验证码10分钟内有效。如非本人操作请忽略此短信!【浪驰软件】 &Phones=11111111111&ReturnXJ=1"); char retmsg[1024] = ""; SocketPost(Data, retmsg) ; closesocket(sockfd); WSACleanup(); Uninitialize(); }
返回值
XML:
<?xml version="1.0" encoding="GB2312"?>
<LANZ_ROOT>
<ErrorNum>0</ErrorNum>
<JobID>2321313130</JobID>
<PhonesSend>98</PhonesSend>
<ErrPhones>13855556666;13611112222</ErrPhones>
<DeductionSMSs>1000</DeductionSMSs>
</LANZ_ROOT>

JSON:
{
"LANZ_ROOT": {
"ErrorNum": "0",
"JobID": "2321313130",
"PhonesSend": "98",
"ErrPhones": "13855556666;13611112222",
"DeductionSMSs": "1000"
}
}