亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用WinInet編寫發送短信程序

2019-11-18 19:57:41
字體:
來源:轉載
供稿:網友

  如果能夠使自己程序具有短信發送功能,那將會使您的程序蓬蓽生輝,特別是通訊錄等程序。通常在程序中發送短信有兩種方式,一種是使用GSM Modem通過計算機串口編程發送短信,這種方式需要購置硬件設備,既不方便又不經濟!另一種方式是通過網絡發送,我們可以先在163.com等網站上注冊一個用戶,然后通過這些具有短信發送功能的網站發送短信。這種方式比較經濟。下面本文講述第二種的實現方式。
   
   實際上,我們的程序只要具有象瀏覽器那樣向HTTP服務器發送數據的功能,我們就可以模擬瀏覽器的登陸等操作,通過程序來發送短信。我們打算使用WinInet函數來實現與HTTP服務器的通信。

   主要就兩個函數,一個就是模擬瀏覽器的函數,另一個是發送短信的函數,其中使用了網易作為測試樣例,您還可以自己添加其他短信網關。

/*****************************************************************
* 函數介紹: 執行HTTP的Post或Get方法
* 輸入參數: TCHAR* hdrs       - HTTP頭
            TCHAR* accept     - Accept類型
            TCHAR* Method     - POST 或 GET
            TCHAR* frmdata    - 要提交的數據
            TCHAR* ServerName - 服務器地址
            TCHAR* FormAction - 數據提交到的網頁名稱
* 輸出參數: 無
* 返 回 值: int               - 返回操作狀態(見SendSMS)
*****************************************************************/
int doHTTP(TCHAR* hdrs, TCHAR* accept, TCHAR* Method, TCHAR* frmdata, TCHAR* ServerName, TCHAR* FormAction)
{
   // 創建Internet
   HINTERNET hsession = InternetOpen("MyAgent",
                                     INTERNET_OPEN_TYPE_PRECONFIG,
                                     NULL,
                                     NULL,
                                     0);
   if (!hSession)
   {
       return 5;
   }
   // 連接服務器
   HINTERNET hConnect = InternetConnect(hSession,
                                        ServerName,
                                        INTERNET_DEFAULT_HTTP_PORT,
                                        NULL,
                                        NULL,
                                        INTERNET_SERVICE_HTTP,
                                        0,
                                        1);
   if (!hConnect)
   {
       return 2;
   }
   // 創建一個請求
   HINTERNET hRequest = HttpOpenRequest(hConnect,
                                        Method,
                                        FormAction,
                                        HTTP_VERSION,
                                        NULL,
                                        (const char**)&accept,
                                        0,
                                        1);
   if (!hRequest)
   {
       return 2;
   }
   // 發送請求
   BOOL bSendRequest = HttpSendRequest(hRequest,
                                       hdrs,
                                       strlen(hdrs),
                                       frmdata,
                                       strlen(frmdata));
   if (!bSendRequest)
   {
       return 2;
   }

////////////////////////調試用/////////////////
#ifdef _DEBUG
   int bDoLoop = 1;
   LPTSTR szReadBuffer;
   DWord lNumberOfBytesRead;
   FILE* f1;
   szReadBuffer = (LPTSTR) malloc(500);
   ZeroMemory(szReadBuffer, 500);
   if ((f1=fopen("c://test.htm", "w"))!=NULL)
   {
       while(bDoLoop)
       {
           bDoLoop = InternetReadFile(hRequest, szReadBuffer, 500, &lNumberOfBytesRead);
           fseek(f1, 0L, SEEK_END);
           fwrite(szReadBuffer, sizeof(szReadBuffer), lNumberOfBytesRead, f1);
           if (lNumberOfBytesRead<500)
               bDoLoop = 0;
       }
   }
   fclose(f1);
   free(szReadBuffer);
#endif
//////////////////////////////////////////////////

   // 清除句柄
   if (hRequest)
       InternetCloseHandle(hRequest);
   if (hConnect)
       InternetCloseHandle(hConnect);
   if (hSession)
       InternetCloseHandle(hSession);

   return 0;
}

/*****************************************************************
* 函數介紹: 發送短信函數
* 輸入參數: char* lpGateway  - 發送網關名稱
            char* lpUserName - 發送者登陸賬號
            char* lpPassword - 發送者登陸密碼
            char* lpPhone    - 接收者手機號碼
            char* lpContent  - 發送內容
            char* lpNickName - 發送者昵稱
            char* lpExtent   - 擴展信息                                     
* 輸出參數: 無
* 返 回 值: int       00     - 操作完成,結果未知
                      01     - 網關代號不存在
                      02     - 網絡連接超時
                      03     - 用戶中止操作
                      04     - 網關/賬號/手機/短信內容空白或非法
                      05     - 出現其他錯誤
*****************************************************************/
SENDSMS_API int CALLAGREEMENT SendSMS(char* lpGateway,
                                        char* lpUserName,
                                      char* lpPassword,
                                      char* lpPhone,  
                                      char* lpContent,
                                      char* lpNickName,
                                      char* lpExtent
                                      )
{
    int Result;
    static TCHAR hdrs[] = _T("Content-Type: application/x-www-form-urlencoded");
    static TCHAR accept[] = _T("Accept: */*");
    static TCHAR frmdata[1024];

    // 登陸姓名,密碼等不允許為空
    if ((strlen(lpGateway)<=0)||(strlen(lpUserName)<=0)||
          (strlen(lpPassword)<=0)||(strlen(lpPhone)<=0)||(strlen(lpContent)<=0))
        return 4;

    // 選擇網易網關發送
    if (strcmp(lpGateway, "163.com")==0)
    {
        // 登錄短信發送系統
        sprintf(frmdata, "username=%s&password=%s", lpUserName, lpPassword);
        Result = doHTTP(hdrs, accept, "POST", frmdata, "reg4.163.com", "/in.jsp");
       
        // 發送短信
        if (strlen(lpNickName)>0)
            sprintf(frmdata, "send=1&phone=%s&message=%s--%s", lpPhone, lpContent, lpNickName);
        else
            sprintf(frmdata, "send=1&phone=%s&message=%s", lpPhone, lpContent);
        Result = doHTTP(hdrs, accept, "POST", frmdata, "sms.163.com", "/service/sendmsg_pop.php");
       
        // 退出短信發送系統
        sprintf(frmdata, "username=%s", lpUserName);
        Result = doHTTP(hdrs, accept, "GET", frmdata, "reg4.163.com", "/Logout.jsp");

        return Result;
    }


    // 選擇搜狐網關發送
    if (strcmp(lpGateway, "sohu.com")==0)
    {
        Result = 1;
        return Result;
    }

    // 網關代號不存在
    return 1;
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩视频| 国产性猛交xxxx免费看久久| 91在线无精精品一区二区| 亚洲人成亚洲人成在线观看| 欧美成人在线影院| 欧美激情精品久久久久久蜜臀| 一个人看的www久久| 久久久精品久久| 欧美猛少妇色xxxxx| 欧美性精品220| 欧洲亚洲免费在线| 欧美成人黑人xx视频免费观看| 欧美午夜片在线免费观看| 亚洲人午夜色婷婷| 中文字幕精品久久久久| 国产丝袜高跟一区| 欧美电影电视剧在线观看| 日韩美女主播视频| 原创国产精品91| 精品国产老师黑色丝袜高跟鞋| 秋霞成人午夜鲁丝一区二区三区| 国产日韩欧美在线看| 亚洲激情在线视频| 国产免费久久av| 成人免费激情视频| 精品国产精品三级精品av网址| 一区二区三区动漫| 久久精品国产2020观看福利| 成人黄色在线播放| 2019国产精品自在线拍国产不卡| 亚洲精品456在线播放狼人| 91中文在线视频| 日韩av不卡电影| 久久琪琪电影院| 亚洲成人精品视频在线观看| 欧美日韩亚洲精品内裤| 亚洲欧美国产另类| 自拍亚洲一区欧美另类| 国产精品v片在线观看不卡| 欧美激情在线观看视频| 亚洲在线视频观看| 欧美激情伊人电影| 热草久综合在线| 夜夜躁日日躁狠狠久久88av| 992tv成人免费视频| 欧美一级淫片aaaaaaa视频| 精品国产91久久久久久老师| 97久久超碰福利国产精品…| 国产精品青草久久久久福利99| 久久人人爽人人爽人人片亚洲| 国产伦精品一区二区三区精品视频| 青青草成人在线| 国产精品福利久久久| 久久这里只有精品视频首页| 国产精品极品美女在线观看免费| 成人亚洲综合色就1024| 久久99精品久久久久久噜噜| 91精品国产91久久久| 92版电视剧仙鹤神针在线观看| 午夜精品美女自拍福到在线| 欧美午夜片欧美片在线观看| 国产精品香蕉在线观看| 久久99热精品| 国产午夜精品麻豆| 日韩在线高清视频| 成人信息集中地欧美| 日韩美女av在线免费观看| 国模吧一区二区三区| 136fldh精品导航福利| 91麻豆国产精品| 欧美日韩aaaa| 狠狠爱在线视频一区| 日韩美女免费视频| 亚洲已满18点击进入在线看片| 亚洲国产日韩欧美综合久久| 成人欧美在线观看| 欧美在线视频网| 国产精自产拍久久久久久| 在线成人一区二区| 欧美人成在线视频| 国产精品久久久久久久久粉嫩av| 日韩在线中文字| 日韩av免费网站| 日韩精品视频免费| 欧美激情视频给我| 一本色道久久88综合亚洲精品ⅰ| 国产精品91一区| 一区二区三区无码高清视频| 亚洲自拍小视频免费观看| 国产精品视频一区国模私拍| 欧美日本高清视频| 亚洲xxxx做受欧美| 91伊人影院在线播放| 日韩经典中文字幕在线观看| 国产成人精品999| 奇米4444一区二区三区| 欧美激情一级欧美精品| 91sa在线看| 亚洲精品成人免费| 欧美激情a在线| 91夜夜未满十八勿入爽爽影院| 91国在线精品国内播放| www.日韩免费| 欧美日韩免费在线观看| 国产69精品久久久久久| 久久免费成人精品视频| 中文字幕av一区中文字幕天堂| 不卡中文字幕av| 欧美中文字幕第一页| 国产精品999999| 日本欧美一二三区| 在线日韩欧美视频| 日韩av中文字幕在线播放| 欧美另类69精品久久久久9999| 国产精品啪视频| 久久久成人的性感天堂| 中文字幕日韩av| 一区二区三区 在线观看视| 欧美裸身视频免费观看| 亚洲一区二区在线播放| 日韩一区二区精品视频| 成人网在线观看| 亚洲一区二区免费在线| 亚洲免费小视频| 日韩在线视频观看正片免费网站| 3344国产精品免费看| 国产va免费精品高清在线观看| 欧美大片第1页| 久久婷婷国产麻豆91天堂| 欧美日韩国产999| 国产精品免费网站| 国产激情综合五月久久| 欧美在线视频网| 国产精品久久久久久久7电影| 亚洲国内精品在线| 成人两性免费视频| 亚洲精品一区二三区不卡| 国语自产精品视频在免费| 日本在线精品视频| 成人福利网站在线观看| 亚洲午夜精品视频| 69久久夜色精品国产7777| 日韩中文在线中文网在线观看| zzijzzij亚洲日本成熟少妇| 国产精品香蕉在线观看| 欧美一区三区三区高中清蜜桃| 日韩精品在线看| 亚洲欧美国产一本综合首页| 伊人成人开心激情综合网| 国产精品午夜国产小视频| 欧美黑人性生活视频| 欧美成年人视频网站| 亚洲成人网在线| 国产成人一区二区三区| 亚洲综合日韩中文字幕v在线| 97久久久免费福利网址| 国内精品久久影院| 亚洲欧美日韩综合| 欧美激情乱人伦一区| 国产91露脸中文字幕在线| 国产精品91久久久久久| 久久久久久久久久国产| 欧美性少妇18aaaa视频| 日韩欧美精品在线观看|