웹페이지 긁어오는 소스 (MFC, VC++.NET)
Posted 2006년 07월 21일 23시 26분, Filed under: Teeny Tools/phpMyMemo웹에서 실행되는 내용을.. 가져오는 소스입니다.
원래는 MFC로 만드려고 계획했으나,
VC++ .NET을 사용해서 해보려고 수정해봤습니다.
VB.NET이나 C#.NET은 참고할만한 곳이 많은데..
VC++.NET은 찾기 힘드네요.
어쩔 수 없이 C# 소스를 찾아서 바꾸기도 하고..
맨땅에 헤딩하듯이 MSDN을 찾아보기도 하고..
쉽지 않았네요.
그래도 재미있었네요~ ^^
<MFC용>
#pragma comment(lib, "wininet") // 필요한 lib 파일
#include <afxinet.h>
void CTestphpDlg::GOGO()
{
// echo로 설정된 값 가져오기...
char* address = "http://[경로]/version.php"; //여기는 원하는 주소로 수정~
CInternetSession session;
CInternetFile *pHttpFile = NULL;
try
{
pHttpFile = (CInternetFile *) session.OpenURL(address);
}
catch (CInternetException* pEx)
{
pHttpFile = NULL;
unsigned long iErr = pEx->m_dwError;
AfxMessageBox(_T("Internet connection error %d"));
}
CString szReturnedStrings = _T("");
CString szReturn;
while(pHttpFile->ReadString(szReturn))
szReturnedStrings = szReturnedStrings + szReturn;
// szReturnedStrings.Replace("<ENTER>","\\\n");
AfxMessageBox(szReturnedStrings);
pHttpFile->Close();
}
<VC++ .NET용>
using namespace System::Net;
using namespace System::IO;
using namespace System::Text; //String 용
using namespace System::Diagnostics; //Debug::WriteLine용
//실행부분에는..
Uri^ myUri =gcnew Uri("http://[경로]/version.php"); //여기는 원하는 주소로 수정~
WebRequest^ webReq = WebRequest::CreateDefault(myUri);
WebResponse^ webRes = webReq->GetResponse();
Stream^ ReceiveStream = webRes->GetResponseStream();
StreamReader^ reader = gcnew StreamReader(ReceiveStream, Encoding::Default );
array<Char>^ read = gcnew array<Char>(256);
String^ input = gcnew String(read);
while( !String::IsNullOrEmpty(input = reader->ReadLine()) )
{
Debug::WriteLine(input);
}
reader->Close();
webRes->Close();
Trackback URL : http://php.chol.com/~perrkoo/tt/trackback/202
-
파일로 저장할때는 간단하게 한줄^^
URLDownloadToFile(); -
오오 그렇군요. 함수를 본 적은 있는데, 어디에 써먹나 몰랐는데 ^^ 감사합니다~



