// sms.h
class CSms : public CAsyncSocket
{
// Attributes
:
:
};
:
:
//sms.cpp
//
BOOL CSms::SendSMSNow(BOOL isGET)
{
char sendBuffer[4096];
char recvBuffer[4096];
int ret;
//ÀÚ½ÅÀÇ ¼ÒÄÏÀ» Create ÇÑ´Ù
if(Create() == FALSE) return FALSE;
//¼ºñ½º Á¦°ø»çÀÌÆ®ÀÇ IP ÁÖ¼Ò¸¦ 80(º¸ÅëHTTP)Æ÷Æ®·Î Á¢¼ÓÇÑ´Ù.
Connect(m_ServerIP, 80);
//
if(isGET == TRUE)
{
//ÇØ´ç»çÀÌÆ®¿¡¼ ¿ä±¸ÇÏ´Â CGI Äõ¸® Æ÷¸äÀ¸·Î ÀÚ½ÅÀÇ º¸³»´Â ³»¿ë/¹øÈ£, ¹Þ´Â ¹øÈ£¸¦ ¼³Á¤Çϰí ÇØ´ç»çÀÌÆ®¿¡¼ Àü¼Û½Ã ¿ä±¸ÇÏ´Â ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ´ã´Â´Ù.
//Áï, ÀÌ¿Í °°ÀÌ ÇѹøÀÇ Äõ¸®¿¡ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå°¡ ¸Â°í Äõ¸®°¡ ¹Ù¸¦ °æ¿ì SMS¸¦ ³¯¸± ¼ö ÀÖµµ·Ï ¼ºñ½º¸¦ Á¦°øÇØÁÖ´Â »çÀÌÆ®¿¡ ¹Ì¸® °¡ÀÔÀÌ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
//¾Æ·¡´Â nicesms.co.kr À̶ó´Â »çÀÌÆ®ÀÇ ¼ºñ½º¸¦ ¿¹·Î µé¾ú´Ù.
sprintf(sendBuffer,"GET %s?%s=%s&%s=%s&%s=%s&%s=%s&%s=%s&%s HTTP/1.0\r\n\r\n",
m_CGIAddr, m_Param_ID, m_ID, m_Param_PW, m_PW, m_Param_MSG, m_strMessage,
m_Param_RecvNum, m_strRecvNum, m_Param_SendNum, m_strSendNum,
m_Param_etc);
}
else
{
CString strPacket, strContentLength;
CString strParam;
strParam.Format("%s=%s&%s=%s&%s=%s&%s=%s&%s=%s&%s",
m_Param_ID, m_ID, m_Param_PW, m_PW, m_Param_MSG, m_strMessage,
m_Param_RecvNum, m_strRecvNum, m_Param_SendNum, m_strSendNum,
m_Param_etc);
strContentLength.Format("%d",strParam.GetLength());
strPacket = "POST ";
strPacket += m_CGIAddr;
strPacket += " HTTP/1.1\r\n";
strPacket += "Accept: */*\r\n";
//strPacket += "Referer: http://" + m_ServerIP + m_CGIAddr + "\r\n";
strPacket += "Accept-Language: ko\r\n";
strPacket += "Content-type: application/x-www-form-urlencoded\r\n";
strPacket += "Accept-Encoding: gzip, deflate\r\n";
strPacket += "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n";
strPacket = strPacket + "Host: " + m_ServerIP + "\r\n";
strPacket = strPacket + "Content-Length: " + strContentLength + "\r\n";
strPacket += "Cache-Control: no-cache\r\n";
strPacket += "Connection: Keep-Alive\r\n";
strPacket += "\n";
strPacket += strParam;
strPacket += "\r\n\r\n";
sprintf(sendBuffer, strPacket);
//AfxMessageBox(sendBuffer);
}
//AfxMessageBox(sendBuffer);
Sleep(1500);
//Äõ¸®¸¦ ³¯¸°´Ù.
if(Send(sendBuffer,strlen(sendBuffer),0) <= 0)
return FALSE;
//Àá½Ã ´ë±âÈÄ...
Sleep(1000);
memset(recvBuffer,0,sizeof(recvBuffer));
// ÀÀ´ä µ¥ÀÌÅ͸¦ ¼ö½ÅÇÑ´Ù.
do{
ret = Receive(recvBuffer,4096,0);
}while(ret > 0);
// ¼ö½ÅµÈ µ¥ÀÌÅ͸¦ ÆÄ½ÌÇÏ¿© ¼Û½ÅÀÇ ¼º°ø À¯¹«¸¦ È®ÀÎÇÏ´Â Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
//recvBuffer[ret] = NULL;
//AfxMessageBox(recvBuffer);
// ¼ÒÄÏÀ» ´Ý´Â´Ù.
Close();
return TRUE;
}
|