#include <iostream>
#include <string>
#include <windows.h>
#include <wininet.h>
using namespace std;
int main()
{
LPCSTR lpszAccept[]=
{
"*/*"
},
lpszAgent="Mozilla/4.0 (Compatible; MSIE 6.0;)",
lpszHeader="Content-Type: application/x-www-form-urlencoded\r\n";
string lpPostData="action=unonline_user_mac&type=1&mac_ip=",IPAddr;
cout<<"Please input the IP address: ";
cin>>IPAddr;
lpPostData.append(IPAddr);
HINTERNET hInternet=InternetOpen(
lpszAgent,
INTERNET_OPEN_TYPE_DIRECT,
NULL,
INTERNET_INVALID_PORT_NUMBER,
0
);
HINTERNET hConnect=InternetConnect(
hInternet,
"gw.buaa.edu.cn",
INTERNET_DEFAULT_HTTP_PORT,
"",
"",
INTERNET_SERVICE_HTTP,
0,
1
);
HINTERNET hRequest=HttpOpenRequest(
hConnect,
"POST",
"/change_user_balance.php",
HTTP_VERSION,
"http://gw.buaa.edu.cn/",
lpszAccept,
INTERNET_FLAG_DONT_CACHE,
1
);
BOOL bRequest=HttpSendRequest(
hRequest,
lpszHeader,
lstrlen(lpszHeader),
const_cast<char*>(lpPostData.c_str()),
lstrlen(lpPostData.c_str())
);
if(!bRequest)
{
DWORD dwError=GetLastError();
cout<<"Request sent error: "<<dwError<<endl;
return dwError;
}
string strRequest;
char lpBuffer[1024];
DWORD dwByteRead=0;
ZeroMemory(lpBuffer,sizeof(lpBuffer));
while(
InternetReadFile(
hRequest,
lpBuffer,
sizeof(lpBuffer),
&dwByteRead
)
&&dwByteRead>0
)
{
lpBuffer[dwByteRead]='\0';
strRequest.append(lpBuffer);
ZeroMemory(lpBuffer,sizeof(lpBuffer));
}
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
cout<<"Succeeded!"<<endl<<"("<<strRequest<<")"<<endl;
return 0;
}