• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 298  文章 - 377  trackbacks - 0
            <2008年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊(cè)

            收藏夾

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            //上報(bào)數(shù)據(jù)
            BOOL ReportData_V2(const char* szUrl, const char* szData, CString &sError)
            {
            CString strServer;
            CString strObject;
            INTERNET_PORT nPort;
            DWORD dwServiceType;
            if (!AfxParseURL(szUrl, dwServiceType, strServer, strObject, nPort))
            {
            return FALSE;
            }


            if (dwServiceType != AFX_INET_SERVICE_HTTPS && dwServiceType != AFX_INET_SERVICE_HTTP)
            {
            return FALSE;
            }


            HINTERNET m_hOpen;
            HINTERNET m_hConnect;
            HINTERNET m_hRequest;


            //1. init www 
            m_hOpen = InternetOpen(TEXT("PervasiveBiz"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
            if (!m_hOpen)
            {
            return FALSE;
            }


            //2. connect
            //if (!(m_hConnect = InternetConnect(m_hOpen, strServer, INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, INTERNET_FLAG_RELOAD, 0)))
            if (!(m_hConnect = InternetConnect(m_hOpen, strServer, nPort, NULL, NULL, dwServiceType, 0, 0)))
            {
            InternetCloseHandle(m_hOpen);
            return FALSE;
            }


            //3. 創(chuàng)建HTTP請(qǐng)求句柄
            LPTSTR AcceptTypes[2] = { TEXT("*/*"), NULL };
            DWORD dwFlags = INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE;
            if (!(m_hRequest = HttpOpenRequest(m_hConnect, _T("POST"), strObject, _T("HTTP/1.1"), NULL, (LPCTSTR*)AcceptTypes, dwFlags, 0)))
            {
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            return FALSE;
            }


            //4..設(shè)置Internet參數(shù)
            DWORD dwHttpTimeout = 5000;
            if (!InternetSetOption(m_hRequest, INTERNET_OPTION_CONNECT_TIMEOUT, &dwHttpTimeout, sizeof(DWORD)))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            return FALSE;
            }
            if (!InternetSetOption(m_hRequest, INTERNET_OPTION_SEND_TIMEOUT, &dwHttpTimeout, sizeof(DWORD)))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            return FALSE;
            }
            if (!InternetSetOption(m_hRequest, INTERNET_OPTION_RECEIVE_TIMEOUT, &dwHttpTimeout, sizeof(DWORD)))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);;
            return FALSE;
            }


            //5..發(fā)送請(qǐng)求至HTTP服務(wù)器
            if (!HttpSendRequest(m_hRequest, NULL, 0, (char*)szData, strlen(szData)))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            return FALSE;
            }


            //6..先得到響應(yīng)頭的長度(HTTP_QUERY_RAW_HEADERS_CRLF:接收所有由服務(wù)器返回的HEAD)
            DWORD dwSize = 0;
            HttpQueryInfo(m_hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, NULL, &dwSize, NULL);


            //再得到響應(yīng)頭的內(nèi)容
            TCHAR* lpHeaders = new TCHAR[dwSize];
            if (!HttpQueryInfo(m_hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, (LPVOID)lpHeaders, &dwSize, NULL))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }


            //7..得到"HTTP/1.1 200 OK"中的狀態(tài)碼
            TCHAR szHttpStatus[4] = { 0 };
            memcpy(szHttpStatus, lpHeaders + strlen("HTTP/1.1 "), 3 * sizeof(TCHAR)); //200,302,...
            int dwHttpStatus = atoi(szHttpStatus);
            if ((dwHttpStatus < HTTP_STATUS_OK) || (dwHttpStatus > HTTP_STATUS_AMBIGUOUS))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }


            //讀響應(yīng)
            TCHAR szBuff[1024+1] = { 0 };
            if (!InternetReadFile(m_hRequest, szBuff, 1024, &dwSize))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }
            if (dwSize == 0)
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }




            HttpQueryInfo(m_hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, NULL, &dwSize, NULL);
            if (!HttpQueryInfo(m_hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, (LPVOID)lpHeaders, &dwSize, NULL))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }


            memcpy(szHttpStatus, lpHeaders + strlen(_T("HTTP/1.1 ")), 3 * sizeof(TCHAR));
            dwHttpStatus = atoi(szHttpStatus);
            if ((dwHttpStatus < HTTP_STATUS_OK) || (dwHttpStatus > HTTP_STATUS_AMBIGUOUS))
            {
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);
            delete[] lpHeaders;
            return FALSE;
            }


            // MessageBox(NULL, lpHeaders, _T("lpHeaders"),  0);
            delete[] lpHeaders;
            InternetCloseHandle(m_hRequest);
            InternetCloseHandle(m_hConnect);
            InternetCloseHandle(m_hOpen);


            return TRUE;
            } @import url(http://m.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
            posted on 2017-05-11 18:07 聶文龍 閱讀(342) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            午夜不卡888久久| 大美女久久久久久j久久| 成人久久免费网站| 久久99热只有频精品8| 久久亚洲国产精品123区| 久久综合给合久久狠狠狠97色69| 国产成人综合久久精品尤物| 久久国产视屏| 伊人久久免费视频| 亚洲国产成人精品女人久久久 | 精品久久久久久久中文字幕| 亚洲色欲久久久久综合网| 亚洲国产天堂久久综合| 久久国产劲爆AV内射—百度| 久久精品国产亚洲网站| 日产精品久久久久久久| 久久青青草原精品国产不卡| 久久伊人五月丁香狠狠色| 99久久99久久精品免费看蜜桃| 亚洲国产欧洲综合997久久| 久久无码AV一区二区三区| 久久久久久亚洲Av无码精品专口 | 国产三级精品久久| 久久精品国产亚洲AV无码麻豆 | 青青热久久国产久精品 | 欧美日韩精品久久久久| 7777久久久国产精品消防器材| 国产精品激情综合久久 | 国产成人99久久亚洲综合精品| 人妻无码久久精品| 久久久久99精品成人片牛牛影视| 国产精品久久久天天影视| 亚洲精品蜜桃久久久久久| 久久无码专区国产精品发布| 香蕉久久永久视频| 伊人久久综在合线亚洲2019 | 一97日本道伊人久久综合影院| 国产精品无码久久综合网| 狠狠色丁香婷综合久久| 99久久免费国产特黄| 日韩亚洲欧美久久久www综合网|