2013. 10. 15. 10:49


openssl-0.9.8k.tar.gz


# 다운 받는 경로 

http://www.openssl.org/source/


# Windows 상에서 OpenSSL Library 사용을 위해 필요한 OpenSSL 파일 -> 수많은 OpenSSL 파일들이 존재..

Posted by 은돌군
2013. 10. 10. 16:37

하면됨..


DWORD CMapInstallerDlg::getFileLengthFromHttp(CString url)

{

DWORD filesize;

TCHAR szCause[255];

CString CauseOfError;

TRY 

{

CInternetSession session;

CHttpFile *remotefile = (CHttpFile*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_BINARY);

TCHAR szContentLength[32];

DWORD dwInfoSize = 32;

DWORD dwFileSize = 0;

BOOL bGetFileSize = FALSE;

if(remotefile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, szContentLength, &dwInfoSize, NULL))

{

bGetFileSize = TRUE;

dwFileSize = (DWORD)_ttol(szContentLength)

filesize = dwFileSize;

}

else

{ // file nothing

filesize = -1;

}

remotefile->Close();

session.Close();

delete remotefile;

delete session;

}

CATCH_ALL(error)

{

AfxMessageBox("Error when find Data from Server");

error->GetErrorMessage(szCause,254,NULL);

CauseOfError.Format("%s",szCause);

AfxMessageBox(CauseOfError);

}

END_CATCH_ALL;

Posted by 은돌군
2013. 10. 10. 15:51

winninie.h include 후,

아래 코드 사용 하면됨 ㅎ


int getFileFromHttp(char* pszUrl, char* pszFile)

{

HINTERNET    hInet, hUrl;

DWORD        dwReadSize = 0;


// WinINet함수 초기화

if ((hInet = InternetOpen("MyWeb",            // user agent in the HTTP protocol

INTERNET_OPEN_TYPE_DIRECT,    // AccessType

NULL,                        // ProxyName

NULL,                        // ProxyBypass

0)) != NULL)                // Options

{

// 입력된 HTTP주소를 열기

if ((hUrl = InternetOpenUrl(hInet,        // 인터넷 세션의 핸들

pszUrl,                        // URL

NULL,                        // HTTP server에 보내는 해더

0,                            // 해더 사이즈

0,                            // Flag

0)) != NULL)                // Context

{

FILE    *fp;


// 다운로드할 파일 만들기

if ((fp = fopen(pszFile, "wb")) != NULL)

{

TCHAR    szBuff[READ_BUF_SIZE];

DWORD    dwSize;

DWORD    dwDebug = 10;


do {

InternetReadFile(hUrl, szBuff, READ_BUF_SIZE, &dwSize);

fwrite(szBuff, dwSize, 1, fp);


dwReadSize++;


if(dwReadSize % 100 == 0)

printf("[%d]\n", dwReadSize);

size_t szFullSize = 766400;

UPDATE("Downloading...", (int)dwReadSize, 766400, true);

} while ((dwSize != 0) || (--dwDebug != 0));


fclose( fp );

}

InternetCloseHandle(hUrl);

}

InternetCloseHandle(hInet);

}

return(dwReadSize);

}



Posted by 은돌군