• <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>
            posts - 126,  comments - 73,  trackbacks - 0

            //==========> 初始化回話
            HINTERNET hSession=::InternetOpen("Http",
            PRE_CONFIG_INTERNET_ACCESS,
            "",
            INTERNET_INVALID_PORT_NUMBER,
            0);

            if(hSession==NULL){
            AfxMessageBox("Internet session initalization failed!");
            return 1;
            }

            //==========> 創建鏈接
            HINTERNET hConnect=::InternetConnect(hSession,
            pDlg->m_strServer,
            INTERNET_INVALID_PORT_NUMBER,
            "",
            "",
            INTERNET_SERVICE_HTTP,
            0,
            0);

            if(hConnect==NULL){
            AfxMessageBox("Internet connect initialization failed!");
            VERIFY(::InternetCloseHandle(hSession));
            return 1;
            }

            //==========> 打開請求鏈接
            HINTERNET hHttpFile=::HttpOpenRequest(hConnect,
            "GET",
            pDlg->m_strPath,
            HTTP_VERSION,
            NULL,
            0,
            INTERNET_FLAG_DONT_CACHE,
            0);

            if(hHttpFile==NULL){
            AfxMessageBox("Http request failed!");
            VERIFY(::InternetCloseHandle(hConnect));
            VERIFY(::InternetCloseHandle(hSession));
            return 1;
            }

            //==========> 發送請求
            BOOL bSendRequest=::HttpSendRequest(hHttpFile,
            NULL,
            0,
            0,
            0);

            if(bSendRequest){
            char achQueryBuf[16];
            DWORD dwFileSize;
            DWORD dwQueryBufLen=sizeof(achQueryBuf);

            BOOL bQuery=::HttpQueryInfo(hHttpFile,
            HTTP_QUERY_CONTENT_LENGTH,
            achQueryBuf,
            &dwQueryBufLen,
            NULL);

            if(bQuery){
            dwFileSize=(DWORD)atol(achQueryBuf);
            }
            else{
            dwFileSize=10*1024;
            }

            char* lpszBuf=new char[dwFileSize+1];
            DWORD dwBytesRead;

            //==========> 讀取文件
            BOOL bRead=::InternetReadFile(hHttpFile,
            lpszBuf,
            dwFileSize+1,
            &dwBytesRead);


            普通操作步驟:
            -------------------------------------------------------------------------
            開始 HTTP 會話。 創建 CInternetSession 對象。 初始化 WinInet 并連接到服務器。
            連接到 HTTP 服務器。 使用 CInternetSession::GetHttpConnection。 返回 CHttpConnection 對象。
            打開 HTTP 請求。 使用 CHttpConnection::OpenRequest。 返回 CHttpFile 對象。
            發送 HTTP 請求。 使用 CHttpFile::AddRequestHeaders 和 CHttpFile::SendRequest。 查找文件。如果沒有找到該文件,則返回 FALSE。
            從文件中讀取。 使用 CHttpFile。 使用您提供的緩沖區讀取指定數目的字節。
            處理異常。 使用 CInternetException 類。 處理所有常見的 Internet 異常類型。
            結束 HTTP 會話。 處置 CInternetSession 對象。 自動清理打開的文件句柄和連接。

            posted on 2007-05-08 15:40 我風 閱讀(1005) 評論(1)  編輯 收藏 引用

            FeedBack:
            # re: 一些http操作函數
            2007-08-31 19:29 | AAAAAAAAAAAAAAAAAAAAA
            a   回復  更多評論
              
            <2007年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(12)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            C++

            MyFavorite

            搜索

            •  

            積分與排名

            • 積分 - 327105
            • 排名 - 75

            最新評論

            閱讀排行榜

            評論排行榜

            国产高清美女一级a毛片久久w | 久久国产精品免费一区| 日韩欧美亚洲综合久久影院d3| 一本大道加勒比久久综合| 国产AV影片久久久久久| 久久亚洲中文字幕精品一区| 国产亚洲综合久久系列| 深夜久久AAAAA级毛片免费看| 亚洲综合日韩久久成人AV| 久久91精品国产91久久麻豆| 亚洲国产高清精品线久久| 97久久综合精品久久久综合| 久久久精品久久久久特色影视| 亚洲国产精品无码久久| 久久激情五月丁香伊人| 99久久精品费精品国产一区二区| 欧美色综合久久久久久| 久久亚洲综合色一区二区三区| 久久久久久久久久久精品尤物| 久久久久国产一级毛片高清版| 亚洲欧美成人综合久久久| 久久一区二区三区99| 久久久精品一区二区三区| 人妻精品久久无码区| 思思久久99热只有频精品66| 99热成人精品免费久久| 久久成人精品视频| 99久久人妻无码精品系列| 久久综合给合久久狠狠狠97色69 | 久久精品国产秦先生| 午夜不卡久久精品无码免费| 久久久国产视频| 久久精品一本到99热免费| 午夜精品久久久久久| 精品久久人人做人人爽综合| 99久久国产综合精品五月天喷水| 精品国产福利久久久| 91精品国产高清久久久久久国产嫩草 | 欧美精品久久久久久久自慰| 日韩精品久久无码中文字幕| 国产精品久久久亚洲|