怎么获取指定网页的源代码

如何获取指定网页的源代码?
www.1.com/1.asp

------解决方案--------------------
用http协议读取数据不就可以了?
------解决方案--------------------
PostDataBase(CString strURL , CString strPostData , CString& strHTML)
{
try
{
strHTML.Empty();
BOOL bRet;
CString strServer,strObject,strHeader,strRet;
unsigned short nPort;
DWORD dwServiceType;
if(!AfxParseURL(strURL,dwServiceType,strServer,strObject,nPort))
return FALSE;
CHttpFile *pFile = NULL;
CInternetSession sess;


CHttpConnection *pServer = sess.GetHttpConnection(strServer,nPort);
if(pServer==NULL)
return FALSE;
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,strObject,NULL,1,NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT);

if(pFile==NULL)
return FALSE;
pFile -> AddRequestHeaders("Content-Type: application/x-www-form-urlencoded"); 
pFile -> AddRequestHeaders("Accept: */*");
string strDest;
int len = strPostData.GetLength();
CChineseCode::GB2312ToUTF_8(strDest,strPostData.GetBuffer(len),len);
CString content = CString(strDest.c_str());
pFile -> SendRequest(NULL, 0, (LPVOID)(LPCTSTR)content, content.GetLength()); 
strPostData.ReleaseBuffer();

CString strSentence;
DWORD dwStatus;
DWORD dwBuffLen = sizeof(dwStatus);
BOOL bSuccess = pFile->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,&dwStatus, &dwBuffLen);

if( bSuccess && dwStatus>= 200 && dwStatus<300) 
{
char buffer[1024*56];
memset(buffer, 0, 1024*56);
int nReadCount = 0;
while((nReadCount = pFile->Read(buffer, 1024*56)) > 0)
{
strHTML += buffer;
memset(buffer, 0, 1024*56);
}
bRet = TRUE;
char* sz = strHTML.GetBuffer(strHTML.GetLength()); 
string strDest;
CChineseCode::UTF_8ToGB2312(strDest,sz,strlen(sz));
strHTML = strDest.c_str();
strHTML.ReleaseBuffer();
}
else
{
bRet = FALSE;
}

////////////////////////////////////////
pFile->Close();
sess.Close();
return bRet;
}
catch(...)
{
int nCode = GetLastError();
CFetion::Log("POST提交异常[%d]",nCode);
return FALSE;
}

}
------解决方案--------------------
用远程桌面等工具登入到web server,找到网站源码目录,拷贝即可:)