#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();
}
|