// socket_POST.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//首先声明变量
WSADATA data={0};
SOCKET sServer=0;
SOCKET sClient=0;
SOCKADDR_IN addrServer={0};
char recvBuf[1024]={0};
//初始化编程环境
WSAStartup(MAKEWORD(2,2),&data);
//创建套接字
sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET==sServer)
{
cout<<"创建套接字失败\n";
WSACleanup();
return 1;
}
//填写服务器地址
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(80);
addrServer.sin_addr.S_un.S_addr=inet_addr("xxx.xxx.xxx.xxx");
//向服务器发起连接
int errCode=connect(sServer,(sockaddr*)&addrServer,sizeof(addrServer));
if(SOCKET_ERROR==errCode)
{
cout<<"连接失败\n";
closesocket(sServer);
WSACleanup();
return 1;
}
bool isSend=false;
while(1)
{
if(!isSend)
{
//只发送一次数据
char* sendBuf="POST xxxxxxxxxx HTTP/1.1\r\n"
"Host:xxxxxxxxxxxxxxxxx\r\n"
"Connection: keep-alive\r\n"
"Content-Length: 56\r\n"
"Cache-Control: max-age=0\r\n"
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
"Origin: xxxxxxxxxxxxxxxxxxxxxx\r\n"
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Referer:xxxxxxxxxxxxxxxxxxxxxxxx\r\n"
"Accept-Encoding: gzip,deflate,sdch\r\n"
"Accept-Language: zh-CN,zh;q=0.8\r\n"
"Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3\r\n"
"Cookie: ASPSESSIONIDQSRRQTSD=CDNJCLDCMNNFEOLDGABLNJLH\r\n\r\n"
"username=3213&password=321&code=3236&Submit=%CC%E1%BD%BB\r\n";
errCode=send(sServer,sendBuf,strlen(sendBuf),0);
if(SOCKET_ERROR==errCode)
{
cout<<"发送出错\n";
closesocket(sServer);
WSACleanup();
return 1;
}
isSend=true;
}
//循环接收数据
errCode=recv(sServer,recvBuf,1024,0);
if(SOCKET_ERROR==errCode)
{
cout<<"接收数据出错\n";
closesocket(sServer);
WSACleanup();
return 1;
}
if(strlen(recvBuf)!=0)
{
cout<<recvBuf<<endl;
memset(recvBuf,0,1024);
}
}
//清理编程环境
WSACleanup();
return 0;
}