• <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://www.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   管理


            久久久久亚洲AV无码专区首JN| 久久亚洲国产精品五月天婷| 中文字幕久久波多野结衣av| 亚洲愉拍99热成人精品热久久| 少妇久久久久久久久久| 久久不射电影网| 亚洲午夜无码久久久久小说| 久久青青草原精品国产| 国产亚洲成人久久| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲欧洲久久久精品| 久久青青草原精品国产| 久久精品免费网站网| 激情伊人五月天久久综合| 久久99精品久久久久久秒播 | 国产产无码乱码精品久久鸭| 国内精品欧美久久精品| 久久水蜜桃亚洲av无码精品麻豆 | 成人国内精品久久久久影院| 久久九九久精品国产| 久久久久久久久无码精品亚洲日韩 | 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久人人爽人人爽AV片| 国产成人无码久久久精品一| 成人综合久久精品色婷婷| 亚洲欧美精品伊人久久| 久久精品国产亚洲av麻豆色欲 | 麻豆精品久久久一区二区| 思思久久99热只有频精品66| 久久精品国产清自在天天线| 2020久久精品国产免费| 久久精品中文闷骚内射| 青草国产精品久久久久久| 久久精品国产久精国产一老狼| 久久久精品久久久久久| 久久本道久久综合伊人| 久久精品视频免费| 伊人久久大香线蕉影院95| 激情五月综合综合久久69| 国产精品热久久无码av| 久久国产精品一区|