i used the function:
CInternetSession internetSession;
CHttpConnection* pHttpConnection = NULL;
CHttpFile* pHttpFile = NULL;
CString strServer, strObject;
DWORD dwServiceType = 0;
DWORD dwHttpRequestFlags = INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
TCHAR szHeaders[] = _T("Accept: text/*\r\nUser-Agent: LCD's Sample Http Client\r\n");
INTERNET_PORT nPort;
int nRet = 0;
try//异常捕捉
{
nRet = AfxParseURL( (LPCTSTR)sURL, dwServiceType, strServer, strObject, nPort );
if( !nRet || dwServiceType != INTERNET_SERVICE_HTTP )
{
fileContent.Empty();
return ;
}
pHttpConnection = internetSession.GetHttpConnection( strServer, nPort );
pHttpFile = pHttpConnection->OpenRequest( CHttpConnection::HTTP_VERB_GET, strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags);
if(!pHttpFile->AddRequestHeaders( szHeaders ))
{
fileContent.Empty();
//异常捕捉
return ;
}
if(!pHttpFile->SendRequest())
{
fileContent.Empty();
return ;
} DWORD dwRet = 0; pHttpFile->QueryInfoStatusCode( dwRet ); if( dwRet == HTTP_STATUS_DENIED )
{
fileContent.Empty();
return ;
} CString string, prefix, suffix, path, sCopy, sTemp, strFilePath;
int iStart = 0, iEnd = 0;
strFilePath = sURL.Left( ( sURL.ReverseFind( '/' ) ) );
fileContent.Empty();
while( pHttpFile->ReadString( string ) )
{
fileContent += "\r\n" + string;
}
pHttpFile->Close();
pHttpConnection->Close();
delete pHttpFile;
delete pHttpConnection; }
catch(CInternetException* ex)
{
fileContent.Empty();
delete ex; return;
}
do the other website it is ok ,but at http://www.xxcb.com.cn/Articles/03/11/20/364586.HTM
获取的内容里面会有部分乱码现象
CInternetSession internetSession;
CHttpConnection* pHttpConnection = NULL;
CHttpFile* pHttpFile = NULL;
CString strServer, strObject;
DWORD dwServiceType = 0;
DWORD dwHttpRequestFlags = INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
TCHAR szHeaders[] = _T("Accept: text/*\r\nUser-Agent: LCD's Sample Http Client\r\n");
INTERNET_PORT nPort;
int nRet = 0;
try//异常捕捉
{
nRet = AfxParseURL( (LPCTSTR)sURL, dwServiceType, strServer, strObject, nPort );
if( !nRet || dwServiceType != INTERNET_SERVICE_HTTP )
{
fileContent.Empty();
return ;
}
pHttpConnection = internetSession.GetHttpConnection( strServer, nPort );
pHttpFile = pHttpConnection->OpenRequest( CHttpConnection::HTTP_VERB_GET, strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags);
if(!pHttpFile->AddRequestHeaders( szHeaders ))
{
fileContent.Empty();
//异常捕捉
return ;
}
if(!pHttpFile->SendRequest())
{
fileContent.Empty();
return ;
} DWORD dwRet = 0; pHttpFile->QueryInfoStatusCode( dwRet ); if( dwRet == HTTP_STATUS_DENIED )
{
fileContent.Empty();
return ;
} CString string, prefix, suffix, path, sCopy, sTemp, strFilePath;
int iStart = 0, iEnd = 0;
strFilePath = sURL.Left( ( sURL.ReverseFind( '/' ) ) );
fileContent.Empty();
while( pHttpFile->ReadString( string ) )
{
fileContent += "\r\n" + string;
}
pHttpFile->Close();
pHttpConnection->Close();
delete pHttpFile;
delete pHttpConnection; }
catch(CInternetException* ex)
{
fileContent.Empty();
delete ex; return;
}
do the other website it is ok ,but at http://www.xxcb.com.cn/Articles/03/11/20/364586.HTM
获取的内容里面会有部分乱码现象
解决方案 »
- 视类如何得到框架类的指针
- 关于VS中VC++的CLI问题
- 不能将参数 1 从“_TCHAR *”转换为“PSTR”
- 关于数据库连接和表的动态连接讨论
- SDK 编程如何使用 打开文件窗口和保存文件窗口
- 高手请指教:dsp,dsw,ncb,opt,clw,plg,aps文件中分别存放的是什么东东,有什么作用?
- 请问在程序里面,如何设置IE的代理参数,我用的是VC
- 类跑哪去了(应该不难)?
- VC初学者,望各位VC高手来指点迷经。关于类的使用(急)
- 编译DLL工程时,出现的一个奇怪问题,急切等待解决!
- 请问各位在对话框上怎么识别是文本框,还是按钮,或者comobox等等!
- 关于在对话框的控件里面画图的问题 ,在线等,谢谢
而是
TCHAR sz[1024];
while( pHttpFile->ReadString(sz, 1023) )
{
fileContent +=sz;
fileContent +="\r\n";
}