c语言自动刷票代码,简单刷票系统 c语言实现

/*

*简单刷票系统

*

*云守护 542335496@qq.com

*/

#include

#include

#include

#pragma comment(lib,"ws2_32")

#define RefreshTimes 10//刷新次数

char host[128];

char path[128];

// 函数声明

DWORD WINAPI SendThread(LPVOID lpParam);

void SetParam();

void main(int argc,char * argv[])

{

HANDLE hThread[RefreshTimes];

DWORD dwThread[RefreshTimes];

int i;

SetParam();// 设置相关参数

// 循环创建线程完成数据发送功能

for( i = 0 ; i < RefreshTimes ; i++ )

{

hThread[i] = CreateThread(NULL,0,SendThread,(LPVOID)i,0,&dwThread[i]);

if( hThread == NULL )

{

printf("\tCreateThread Failed.\n");

exit(0);

}

Sleep(100);

CloseHandle(hThread);

}

}

// 线程函数,向服务器发送数据

DWORD WINAPI SendThread(LPVOID lpParam)

{

WSADATAwsd;

SOCKET local;

SOCKADDR_IN addr;

HOSTENT * Host = NULL;

if( WSAStartup(MAKEWORD(2,2),&wsd) != 0)

{

printf("\tFailed To Load Winsock Library!\n");

exit(0);

}

local = socket(AF_INET,SOCK_STREAM,0);

if( local == INVALID_SOCKET)

{

printf("\tFailed To Create Socket\n");

exit(0);

}

addr.sin_family = AF_INET;

addr.sin_port = htons(80);

addr.sin_addr.S_un.S_addr = inet_addr(host);

if( addr.sin_addr.S_un.S_addr == INADDR_NONE )

{

// 解析主机地址

Host = gethostbyname(host);

if( Host == NULL )

{

printf("\tUnable To Resolve Server:%s\n",host);

return 0;

}

CopyMemory(&addr.sin_addr,Host->h_addr_list[0],Host->h_length);

printf("\tSend To:%s\n",inet_ntoa(addr.sin_addr));

}

// 尝试与服务器建立连接

if( SOCKET_ERROR == connect(local,(sockaddr*)&addr,sizeof(SOCKADDR)) )

{

printf("\tFailed To Connect To The Server!\n");

exit(0);

}

// 构造发送数据

char SendBuf[512];

memset(SendBuf,'\0',512);

strcpy(SendBuf,"GET ");

char PartOne[] = " HTTP/1.1\r\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\nHost: ";

char PartTwo[] = "\r\nConnection: Keep-Alive\r\n\r\n";

strcat(SendBuf,path);

strcat(SendBuf,PartOne);

strcat(SendBuf,host);

strcat(SendBuf,PartTwo);

// 将数据发送给服务器

if( send(local,SendBuf,strlen(SendBuf)+1,0) == SOCKET_ERROR )

{

printf("\tSend Data Error.\n");

}

closesocket(local);

WSACleanup();

return 0;

}

void SetParam()

{

char Host_Temp[128];

char Path_Temp[128];

printf("\n\tMade By 云守护\n\tQQ:542335496\n\tEmail:542335496@qq.com\n");

printf("\tGet The Host:");

gets(Host_Temp);

fflush(stdout);

strcpy(host,&Host_Temp[0]);

printf("\tGet The Path of WebPage:");

gets(Path_Temp);

strcpy(path,&Path_Temp[0]);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值