본문 바로가기

HTML/CSS

블로그에 소스를 보기 편하게 올리기

SyntaxHighlighter라는 겁니다. 굉장히 멋있는 녀석입니다.

일단 공식홈페이지 : http://alexgorbatchev.com/wiki/SyntaxHighlighter

홈페이지가시면 사용방법, 설치방법이있습니다.

아래는 사용의 예입니다~ 사용법도 간단!



int test(void)
#include 
#include 
#include 


bool GetHtml(const char* strURL, const char* strSavePath);
bool GetImage(const char* strURL, const char* strSavePath);

void main() {
	GetHtml("http://simple21.egloos.com", "test.htm");
	GetImage("http://pds.egloos.com/logo/1/200504/20/80/c0010380.jpg", "test.jpg");
	printf("\nDone.");
}

bool GetHtml(const char* strURL, const char* strSavePath) {
	CInternetSession session;
	CInternetFile* pInternetFile = NULL;
	try {
		session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 1000);
		session.SetOption(INTERNET_OPTION_CONNECT_RETRIES, 3);
		pInternetFile = (CInternetFile*) session.OpenURL(strURL);
	} catch (CInternetException* m_pException)	{
		char szError[1024];
		m_pException->GetErrorMessage(szError, 1024);
		printf("%s", szError);
		pInternetFile = NULL;
		m_pException->Delete();
		return false;
	}
	if(pInternetFile == NULL) return false;
	CString strLine, strHtml;
	
	while(pInternetFile->ReadString(strLine) != NULL) {
		strHtml += strLine;
		strHtml += "";
		strLine.Empty();
	}
	FILE* fp = fopen(strSavePath, "w+t");
	printf("%s", strHtml);
	fclose(fp);
	pInternetFile->Close();
	delete pInternetFile;
	pInternetFile = NULL;
	return true;
}

bool GetImage(const char* strURL, const char* strSavePath) {
	CInternetSession session;
	CInternetFile* pInternetFile = NULL;
	
	try {
		session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 1000);
		session.SetOption(INTERNET_OPTION_CONNECT_RETRIES, 3);
		pInternetFile = (CInternetFile*) session.OpenURL(strURL);
	} catch (CInternetException* m_pException) {
		char szError[1024];
		m_pException->GetErrorMessage(szError, 1024);
		printf("%s", szError);
		pInternetFile = NULL;
		m_pException->Delete();
		return false;
	}	if(pInternetFile == NULL) return false;
	unsigned char data[500];
	int data_size = 0;
	FILE* fp = fopen(strSavePath, "w+b");
	while((data_size = pInternetFile->Read(data, 500)) != 0)
		fwrite(data, sizeof(unsigned char), data_size, fp);
	fclose(fp);
	pInternetFile->Close();
	delete pInternetFile;
	pInternetFile = NULL;
	return true;
}