• <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)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            @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 聶文龍 閱讀(1239) 評論(0)  編輯 收藏 引用
            一97日本道伊人久久综合影院| 四虎影视久久久免费观看| 武侠古典久久婷婷狼人伊人| 亚洲人成无码久久电影网站| 久久久久久免费视频| 国产91久久精品一区二区| 国产日韩欧美久久| 久久SE精品一区二区| 久久精品国产只有精品2020| 久久最新精品国产| 久久久久av无码免费网| 久久精品国产亚洲麻豆| 亚洲精品NV久久久久久久久久| 久久99精品国产自在现线小黄鸭| 国产精品成人无码久久久久久 | 99久久www免费人成精品| 亚洲精品美女久久久久99小说| 久久久久久国产精品免费无码| 欧美性大战久久久久久| 久久99国产精品二区不卡| 热久久视久久精品18| 久久精品18| 大美女久久久久久j久久| 无码精品久久久久久人妻中字| 久久伊人精品青青草原日本| 亚洲国产成人久久综合碰碰动漫3d| 亚洲午夜久久久久久噜噜噜| 午夜福利91久久福利| 亚洲综合婷婷久久| 国产精品一久久香蕉产线看| 久久久精品人妻一区二区三区蜜桃| 国产精品久久久久久久久软件| 久久久久国产亚洲AV麻豆| 久久亚洲精品中文字幕三区| 人妻精品久久久久中文字幕69 | 久久青青草原亚洲av无码app| 久久91精品国产91| 久久亚洲精品国产亚洲老地址| 久久影院亚洲一区| 色综合合久久天天给综看| 国内精品伊人久久久久影院对白|