검색결과 리스트
WEB에 해당되는 글 28건
- 2007.11.22 웹페이지를 mht로 변환하기
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
* MHT (MHTML 파일의 확장자 또는 MHTML 포맷 자체)
웹페이지를 mht로 변환해야하는 일이 생겨서 검색을 해보았다.
혼자보기에는 아까운 자료같아서 한번 정리해 보겠다.
참고로 네이버와 같은 사이트들은 MHT로 저장하는 기능을 막았다고 한다.
1. VBscript를 이용한 방법
출처 : http://www.paulsadowski.com/WSH/MHT.htm
2. ASP를 이용한 방법
Dim iMsg, pFileName, pTargetUrl
Call gAuthUser
pTargetUrl = "http://www.paulsadowski.com/"
pFileName = "test.mht"
Set iMsg = CreateObject("CDO.Message") 'Create Message object
'If you are under a proxy, you need that configuration parameters
'Set iConf = CreateObject("CDO.Configuration") 'Create Message Configuration Object
'Set Flds = iConf.Fields
'Flds("http://schemas.microsoft.com/cdo/configuration/urlproxyserver")= "server:80"
'Flds("http://schemas.microsoft.com/cdo/configuration/urlproxybypass")= ""
'Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion")= True
'Flds.Update
iMsg.CreateMHTMLBody pTargetUrl, 0
Response.AddHeader "content-disposition","attachment; filename=" & pFileName
Response.ContentType = "application/x-msdownloadwm"
Response.CacheControl = "public"
Response.Write iMsg.GetStream.readText
Response.end
Set iMsg = Nothing
출처 : http://blog.naver.com/alpha?Redirect=Log&logNo=60002543539
3. Delphi를 이용한 방법
델파이를 할 줄 모르는 관계로 그냥 링크만 남깁니다.
출처 : http://blog.naver.com/chomorungma?Redirect=Log&logNo=70005552930
4. VC++을 이용한 방법
#import "c:\program files\common files\system\ado\msado15.dll" _
no_namespace rename("EOF", "EndOfFile")
#import no_namespace rename("EOF", "EndOfFile")
...
void SaveWholePage(LPCTSTR page_url,LPCTSTR save_filename)
{
CoInitialize(NULL);
{
IMessagePtr iMsg(__uuidof(Message));
IConfigurationPtr iConf(__uuidof(Configuration));
iMsg->Configuration = iConf;
try
{
iMsg->CreateMHTMLBody(
page_url,
cdoSuppressNone,
"domain\\username",
"password");
}
catch(_com_error err)
{
// handle exception
}
_StreamPtr pStream=iMsg->GetStream();
pStream->SaveToFile( save_filename,
adSaveCreateOverWrite);
}
CoUninitialize();
}
// Usage
SaveWholePage("http://www.paulsadowski.com", "test.mht");
출처 : http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4397/
5. C#을 이용한 방법
//Mht 파일을 저장하기 위한 함수
public bool SaveMHT(string strHTML, string strMHTFilename, string strBoardID, string strFilePath)
{
string DocPath = "";
string mhtfilePath = "";
try
{
strHTML = strHTML.Replace("'", "''");
DocPath = strFilePath + "\\";
if (System.IO.Directory.Exists(DocPath + strBoardID) == false)
{
System.IO.Directory.CreateDirectory(DocPath + strBoardID);
System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\UploadFile");
System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\doc");
}
mhtfilePath = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".htm";
string mhtfilePath2 = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".mht";
//StremWriter를 이용하여 임시 HTML파일을 생성한다.
if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);
StreamWriter output = new StreamWriter(mhtfilePath, false, System.Text.Encoding.Default);
output.WriteLine(strHTML);
output.Close();
//등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
string fileURL = @"html을 저장할 절대 경로위치".htm";
CDO.Message iMsg = new CDO.MessageClass();
iMsg.CreateMHTMLBody(fileURL,0,"","");
//등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
if (System.IO.File.Exists(mhtfilePath2)) System.IO.File.Delete(mhtfilePath2);
ADODB.Stream streamStr = new ADODB.StreamClass();
streamStr = iMsg.GetStream();
streamStr.SaveToFile(mhtfilePath2,ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
streamStr.Close();
//등록된 Html파일을 삭제 한다.
if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);
return true;
}
catch(Exception e)
{
MessageBox.Show(e.Message);
return false;
}
}
// Usage
BOOL SaveMHTResult = SaveMHT(h_content, "test.mht", r_BoardID, "http://www.paulsadowski.com");
출처 : http://locke.tistory.com/38
웹페이지를 mht로 변환해야하는 일이 생겨서 검색을 해보았다.
혼자보기에는 아까운 자료같아서 한번 정리해 보겠다.
참고로 네이버와 같은 사이트들은 MHT로 저장하는 기능을 막았다고 한다.
1. VBscript를 이용한 방법
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2
Const adTypeBinary = 1 'Binary data
Const adTypeText = 2 '(Default) Text data
URL = "http://www.paulsadowski.com/"
DiskFile = "C:\test.mht"
Set objMessage = CreateObject("CDO.Message")
objMessage.CreateMHTMLBody URL
SaveToFile objMessage, DiskFile
MsgBox "@end"
Sub SaveToFile(Msg, Fn)
Dim Strm, Dsk
Set Strm = CreateObject("ADODB.Stream")
Strm.Type = adTypeText
Strm.Charset = "US-ASCII"
Strm.Open
Set Dsk = Msg.DataSource
Dsk.SaveToObject Strm, "_Stream"
Strm.SaveToFile Fn, adSaveCreateOverWrite
End Sub
출처 : http://www.paulsadowski.com/WSH/MHT.htm
2. ASP를 이용한 방법
Dim iMsg, pFileName, pTargetUrl
Call gAuthUser
pTargetUrl = "http://www.paulsadowski.com/"
pFileName = "test.mht"
Set iMsg = CreateObject("CDO.Message") 'Create Message object
'If you are under a proxy, you need that configuration parameters
'Set iConf = CreateObject("CDO.Configuration") 'Create Message Configuration Object
'Set Flds = iConf.Fields
'Flds("http://schemas.microsoft.com/cdo/configuration/urlproxyserver")= "server:80"
'Flds("http://schemas.microsoft.com/cdo/configuration/urlproxybypass")= ""
'Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion")= True
'Flds.Update
iMsg.CreateMHTMLBody pTargetUrl, 0
Response.AddHeader "content-disposition","attachment; filename=" & pFileName
Response.ContentType = "application/x-msdownloadwm"
Response.CacheControl = "public"
Response.Write iMsg.GetStream.readText
Response.end
Set iMsg = Nothing
출처 : http://blog.naver.com/alpha?Redirect=Log&logNo=60002543539
3. Delphi를 이용한 방법
델파이를 할 줄 모르는 관계로 그냥 링크만 남깁니다.
출처 : http://blog.naver.com/chomorungma?Redirect=Log&logNo=70005552930
4. VC++을 이용한 방법
#import "c:\program files\common files\system\ado\msado15.dll" _
no_namespace rename("EOF", "EndOfFile")
#import no_namespace rename("EOF", "EndOfFile")
...
void SaveWholePage(LPCTSTR page_url,LPCTSTR save_filename)
{
CoInitialize(NULL);
{
IMessagePtr iMsg(__uuidof(Message));
IConfigurationPtr iConf(__uuidof(Configuration));
iMsg->Configuration = iConf;
try
{
iMsg->CreateMHTMLBody(
page_url,
cdoSuppressNone,
"domain\\username",
"password");
}
catch(_com_error err)
{
// handle exception
}
_StreamPtr pStream=iMsg->GetStream();
pStream->SaveToFile( save_filename,
adSaveCreateOverWrite);
}
CoUninitialize();
}
// Usage
SaveWholePage("http://www.paulsadowski.com", "test.mht");
출처 : http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4397/
5. C#을 이용한 방법
//Mht 파일을 저장하기 위한 함수
public bool SaveMHT(string strHTML, string strMHTFilename, string strBoardID, string strFilePath)
{
string DocPath = "";
string mhtfilePath = "";
try
{
strHTML = strHTML.Replace("'", "''");
DocPath = strFilePath + "\\";
if (System.IO.Directory.Exists(DocPath + strBoardID) == false)
{
System.IO.Directory.CreateDirectory(DocPath + strBoardID);
System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\UploadFile");
System.IO.Directory.CreateDirectory(DocPath + strBoardID + "\\doc");
}
mhtfilePath = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".htm";
string mhtfilePath2 = DocPath + strBoardID + "\\doc\\" + strMHTFilename + ".mht";
//StremWriter를 이용하여 임시 HTML파일을 생성한다.
if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);
StreamWriter output = new StreamWriter(mhtfilePath, false, System.Text.Encoding.Default);
output.WriteLine(strHTML);
output.Close();
//등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
string fileURL = @"html을 저장할 절대 경로위치".htm";
CDO.Message iMsg = new CDO.MessageClass();
iMsg.CreateMHTMLBody(fileURL,0,"","");
//등록된 Html파일의 URL 주소를 가져 와서 CDO객체를 이용하여 MHT를 생성 한다.
if (System.IO.File.Exists(mhtfilePath2)) System.IO.File.Delete(mhtfilePath2);
ADODB.Stream streamStr = new ADODB.StreamClass();
streamStr = iMsg.GetStream();
streamStr.SaveToFile(mhtfilePath2,ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
streamStr.Close();
//등록된 Html파일을 삭제 한다.
if (System.IO.File.Exists(mhtfilePath)) System.IO.File.Delete(mhtfilePath);
return true;
}
catch(Exception e)
{
MessageBox.Show(e.Message);
return false;
}
}
// Usage
BOOL SaveMHTResult = SaveMHT(h_content, "test.mht", r_BoardID, "http://www.paulsadowski.com");
출처 : http://locke.tistory.com/38
'WEB' 카테고리의 다른 글
WSH - WScript 와 CScript (0) | 2009.08.07 |
---|---|
특수문자의 URL 인코딩 결과값 (0) | 2009.04.20 |
Ajax 기본 예제 (0) | 2008.11.21 |
WSH - WScript 와 CSciprt (0) | 2006.09.12 |
HTTP상태코드 및 의미 (0) | 2006.08.31 |
RECENT COMMENT