为什么我抓不下这个网页?

gzamao 2001-03-08 10:46:00
以下代码已经可以直接运行.就是抓不下该网站的网页,还抓不下www.163.net 的主页.
???

CString sServer="www.jk888.com";
CString sDocPath="/";
CInternetSession oSession("InterSession");
CHttpConnection *pCon=NULL;
CHttpFile *pFile=NULL;

pCon=oSession.GetHttpConnection(sServer,(INTERNET_PORT)80);
if(!pCon)
{
oSession.Close();

}

pFile=pCon->OpenRequest(CHttpConnection::HTTP_VERB_GET,sDocPath,
NULL,1,NULL,NULL,INTERNET_FLAG_RELOAD);
if(!pFile)
{
oSession.Close();

}

try{
pFile->AddRequestHeaders("");
pFile->SendRequest();
}catch(...)
{
oSession.Close();

}
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if(dwRet!=HTTP_STATUS_OK)
{
oSession.Close();

}

if(pFile->GetLength()==0)
{
oSession.Close();

}
void *pBuffer=malloc(1024);
//pFile->ReadHuge(pBuffer,iCount);
CString sContent,sTemp;
int iResult;
do
{
iResult=pFile->Read(pBuffer,1023);
if(iResult==0)break;
sTemp=(char*)pBuffer;
sTemp=sTemp.Left(iResult);
sContent+=sTemp;
}while(iResult>0);
oSession.Close();
printf("%s",sContent);
...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luodi 2001-03-08
  • 打赏
  • 举报
回复
你的程序抓不下网页,表现是什么?

有一个问题可能是:期望的返回状态码是HTTP_STATUS_OK(200),但实际上很多时候即使成功的与WEB SERVER联上,它的返回码却是201,202或者是302, etc。可以上 http://www.w3.org/Protocols/HTTP/HTRESP.html 上看看有多少种可能的返回状态。

如能更详细地描述程序的返回或DEBUG的结果将有助于更进一步的分析。
gzamao 2001-03-08
  • 打赏
  • 举报
回复
它有返回,运行很正常。就是和浏览器看到的结果不一样。
不信您看看。情况极度诡异!!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧