• <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 我風 閱讀(999) 評論(1)  編輯 收藏 引用

            FeedBack:
            # re: 一些http操作函數
            2007-08-31 19:29 | AAAAAAAAAAAAAAAAAAAAA
            a   回復  更多評論
              
            <2007年1月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(12)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            C++

            MyFavorite

            搜索

            •  

            積分與排名

            • 積分 - 326120
            • 排名 - 75

            最新評論

            閱讀排行榜

            評論排行榜

            久久涩综合| 国产女人aaa级久久久级| 久久精品久久久久观看99水蜜桃| 一本色道久久综合狠狠躁篇| 99久久夜色精品国产网站| 国内精品久久久久伊人av| 精品多毛少妇人妻AV免费久久 | 久久久久久久久无码精品亚洲日韩| 亚洲伊人久久精品影院| 国产三级观看久久| 久久久久se色偷偷亚洲精品av| 国产精品无码久久综合| 亚洲国产精品成人久久蜜臀| 好久久免费视频高清| 99久久做夜夜爱天天做精品| 日本一区精品久久久久影院| 777午夜精品久久av蜜臀| 久久久国产一区二区三区| 国产精品免费福利久久| 色播久久人人爽人人爽人人片AV| 久久综合中文字幕| 久久久久久夜精品精品免费啦| 青青热久久国产久精品 | 99久久国产精品免费一区二区| 久久99精品久久久久久噜噜| 潮喷大喷水系列无码久久精品| 2021国内久久精品| 久久亚洲精品国产精品婷婷| 久久夜色精品国产亚洲| 久久精品中文騷妇女内射| 亚洲欧美日韩中文久久| 久久久国产99久久国产一| 久久综合久久伊人| 婷婷久久精品国产| 2021国内久久精品| 日本WV一本一道久久香蕉| 精品久久久久久久国产潘金莲 | 亚洲国产精品久久电影欧美| 久久精品国产99国产精品导航| 欧美黑人激情性久久| 国产亚洲美女精品久久久2020|