• <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
            <2007年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); http://www.cnblogs.com/nethirte/archive/2013/07/18/3197813.html


             
            void UploadFile(LPTSTR lpFilePath)
            {
                HINTERNET hSession=0;
                HINTERNET hConnect=0;
                HINTERNET hRequest=0;
                
                DWORD dwNumberOfBytesWritten=0;
                DWORD dwBytesSend=0;

                
                INTERNET_BUFFERS BufferIn;

                DWORD dwFlag;

                LPCTSTR boundary=TEXT("-----------------------------67491722032265"); //隨機字符串
                LPCSTR aboundary="-----------------------------67491722032265"; //ansi

                HANDLE hFile;
                hFile=CreateFile(lpFilePath,
                    GENERIC_READ,
                    FILE_SHARE_READ|FILE_SHARE_WRITE,
                    0,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    0);

                DWORD dwFileSize=GetFileSize(hFile,0);

                
                TCHAR content_type[128];
                _stprintf_s(content_type,TEXT("Content-Type: multipart/form-data; boundary=%s"),boundary);
                LPTSTR referer=TEXT("Referer: http://127.0.0.1/upload/~upload");
                LPTSTR accept=TEXT("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
                LPTSTR accept_lan=TEXT("Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
                LPTSTR accept_encoding=TEXT("Accept-Encoding: gzip, deflate");
                LPTSTR user_agent=TEXT("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0");


                hSession=InternetOpen(_T("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0"),
                    INTERNET_OPEN_TYPE_PRECONFIG,
                    0,
                    INTERNET_INVALID_PORT_NUMBER,
                    0);
                if (0==hSession)
                {

                    return;
                }
                    
                hConnect=InternetConnect(hSession,
                    TEXT("172.16.1.142"),
                    80,
                    _T(""),
                    _T(""),
                    INTERNET_SERVICE_HTTP,
                    0,
                    0);
                if (0==hConnect)
                {

                    InternetCloseHandle(hSession);
                    return;
                }



                dwFlag=INTERNET_FLAG_KEEP_CONNECTION;

                hRequest=HttpOpenRequest(hConnect,
                    _T("POST"),
                    _T("/upload/"),
                    HTTP_VERSION,
                    0,                //Referrer
                    0,                //AcceptTypes 
                    dwFlag,
                    0);
                if (0==hRequest)
                {

                    InternetCloseHandle(hConnect);
                    InternetCloseHandle(hSession);
                    return;
                }

                HttpAddRequestHeaders(hRequest,content_type,-1,HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);
                HttpAddRequestHeaders(hRequest,referer,-1,HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);
                HttpAddRequestHeaders(hRequest,accept,-1,HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);
                HttpAddRequestHeaders(hRequest,accept_lan,-1,HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);
                HttpAddRequestHeaders(hRequest,accept_encoding,-1,HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE);

                BYTE* lpBuffer=(BYTE*)VirtualAlloc(0,dwFileSize,MEM_COMMIT,PAGE_READWRITE);
                if (0==lpBuffer)
                {
                    InternetCloseHandle(hRequest);
                    InternetCloseHandle(hConnect);
                    InternetCloseHandle(hSession);
                    return;
                }

                DWORD dwRead;
                ReadFile(hFile,lpBuffer,dwFileSize,&dwRead,0);

                CloseHandle(hFile);

                char first_boundary[128];
                char delimiter[128];
                char end_boundary[128];
                sprintf_s(first_boundary,"--%s\r\n",aboundary);
                sprintf_s(delimiter,"\r\n--%s\r\n",aboundary);
                sprintf_s(end_boundary,"\r\n--%s--\r\n",aboundary);

                LPSTR content_dispos="Content-Disposition: form-data; name=\"fileupload1\"; filename=\"notepad.exe\"\r\n";
                
                LPSTR content_type2="Content-Type: application/octet-stream\r\n\r\n";


                LPSTR rn="\r\n";

                BufferIn.dwStructSize = sizeof( INTERNET_BUFFERS );
                BufferIn.Next = NULL; 
                BufferIn.lpcszHeader = NULL;
                BufferIn.dwHeadersLength = 0;
                BufferIn.dwHeadersTotal = 0;
                BufferIn.lpvBuffer = NULL;                
                BufferIn.dwBufferLength = 0;
                BufferIn.dwBufferTotal = dwFileSize
                    +strlen(first_boundary)
                    +strlen(content_dispos)
                    +strlen(content_type2)
                    +strlen(end_boundary); //Content-Length:
                BufferIn.dwOffsetLow = 0;
                BufferIn.dwOffsetHigh = 0;

                if (!HttpSendRequestEx(hRequest,&BufferIn,0,0,0))
                {
                    InternetCloseHandle(hRequest);
                    InternetCloseHandle(hConnect);
                    InternetCloseHandle(hSession);
                    return;
                }

                InternetWriteFile(hRequest,(byte*)first_boundary,strlen(first_boundary),&dwNumberOfBytesWritten); //first boundary
                InternetWriteFile(hRequest,(byte*)content_dispos,strlen(content_dispos),&dwNumberOfBytesWritten);
                InternetWriteFile(hRequest,(byte*)content_type2,strlen(content_type2),&dwNumberOfBytesWritten);
                InternetWriteFile(hRequest,lpBuffer,dwFileSize,&dwNumberOfBytesWritten);

                //如果還有其他文件
                
            //InternetWriteFile(hRequest,(byte*)delimiter,strlen(delimiter),&dwNumberOfBytesWritten); //deimiter
                
            //InternetWriteFile(hRequest,(byte*)content_dispos,strlen(content_dispos),&dwNumberOfBytesWritten);
                
            //InternetWriteFile(hRequest,(byte*)content_type2,strlen(content_type2),&dwNumberOfBytesWritten);
                
            //

                InternetWriteFile(hRequest,(byte*)end_boundary,strlen(end_boundary),&dwNumberOfBytesWritten);//last boundary

                HttpEndRequest(hRequest,0,0,0);


                InternetCloseHandle(hRequest);
                InternetCloseHandle(hConnect);
                InternetCloseHandle(hSession);

                VirtualFree(lpBuffer,0,MEM_RELEASE);
            }
            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
            posted on 2017-07-03 15:09 聶文龍 閱讀(1240) 評論(0)  編輯 收藏 引用
            久久99精品综合国产首页| 性做久久久久久免费观看| 精品人妻久久久久久888| 久久久国产精品福利免费| 欧洲国产伦久久久久久久| 国产激情久久久久久熟女老人| 久久人人爽人人爽人人AV东京热| 97久久久精品综合88久久| 亚洲国产成人久久综合一区77| 男女久久久国产一区二区三区| 久久久人妻精品无码一区 | 伊人久久大香线蕉精品| 欧美日韩成人精品久久久免费看| 性欧美大战久久久久久久| 久久精品国产亚洲av高清漫画| 72种姿势欧美久久久久大黄蕉| 久久乐国产精品亚洲综合| 国产V综合V亚洲欧美久久| 久久综合视频网| 久久久WWW免费人成精品| 韩国免费A级毛片久久| 亚洲色大成网站www久久九| 久久亚洲电影| 久久久久久A亚洲欧洲AV冫| 2020最新久久久视精品爱| 99久久精品国内| 成人免费网站久久久| 久久亚洲AV成人出白浆无码国产| 亚洲精品成人网久久久久久| 精品无码久久久久久国产| 亚洲国产精品久久久久久| 国产成人久久精品一区二区三区 | 99久久国产主播综合精品| 久久午夜伦鲁片免费无码| 亚洲AV乱码久久精品蜜桃| 亚洲精品国精品久久99热一| 亚洲愉拍99热成人精品热久久| 狠狠色噜噜色狠狠狠综合久久| 日本五月天婷久久网站| 久久国产劲爆AV内射—百度| 久久国产色av免费看|