网页获取数据但是不能随网页更新

anzi5091104 2014-07-05 07:05:52
当我用pfile= (CHttpFile *)session.OpenURL(url)获取网页内容后,把它输出到一个txt文件中,然后提取出需要的数据这都没问题,当时用循环来控制隔一段时间获取后,每次提出来的都是一样的数据,网页中的是随时间变化,可是提取出来的一直不变,不知道怎么回事。代码,如下
char * url = "(需要的网址)";这句没问题
CInternetSession session("HttpClient"); //会话
CHttpFile * pfile = NULL ;
CString content;
char read2[221184];
char *fp22;
char *fp32;

pfile= (CHttpFile *)session.OpenURL(url);

DWORD dwStatusCode;
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
//char sRev[1024];

CString data;
while (pfile -> ReadString(data))
{
content += data;
}
content.TrimRight();
ofstream fout("3.txt");// 输出到一个文件中
fout <<(LPCTSTR)content;
fout.close();
}
content.Empty();
FILE *fp1=NULL;
fopen_s(&fp1,"3.txt","r");

while(fread(read2,1,110592,fp1))
fp22=strstr(read2,"需要对比的数据");
ofstream fout1("4.txt");//把指针调到需要的位置
fp32=fp22+512;
fout1<<fp32;
fout1.close();
char fp4[230];
ifstream file2("4.txt");//需要的数据写入文件
file2.get(fp4,230);
file2.close();
for(int i12=0;i12<5;i12++)//存成数组
{
if(fp4[1+i12*55]=='2')
p[iii][i12]=2;
else if(fp4[1+i12*55]=='3')
p[iii][i12]=3;
else if(fp4[1+i12*55]=='4')
p[iii][i12]=4;
else if(fp4[1+i12*55]=='5')
p[iii][i12]=5;
else if(fp4[1+i12*55]=='6')
p[iii][i12]=6;
else if(fp4[1+i12*55]=='7')
p[iii][i12]=7;
else if(fp4[1+i12*55]=='8')
p[iii][i12]=8;
else if(fp4[1+i12*55]=='9')
p[iii][i12]=9;
else if(fp4[1+i12*55]=='0')
p[iii][i12]=10;
else if(fp4[0+i12*55]=='1'&&fp4[1+i12*55]=='1')
p[iii][i12]=11;
else if(fp4[0+i12*55]=='0'&&fp4[1+i12*55]=='1')
p[iii][i12]=1;
else std::cout<<"error";
}
int i1111=16;//存入最后保存的数组里
int i1112=iii;
int i1113=0;
while(i1111)
{for(int i1114=0;i1114<5;i1114++)
{p1[i1113][i1114]=p[i1112-16][i1114];
p2[i1113][i1114]=p[i1112-15][i1114];}
i1112++;
i1113++;
i1111--;
}

for(int i123=0;i123<5;i123++)
{t1[i123]=p[iii][i123];}
pfile->Close();
delete pfile;
session.Close();

content.Empty();
delete content;


int iii11=1;
while(iii11)
{time_t rawtime; //获取系统时间,以延迟一段时间
struct tm*timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
if(timeinfo->tm_min%10!=0)
{iii11=0;
break;
}
}
...全文
112 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
anzi5091104 2014-07-06
  • 打赏
  • 举报
回复
pfile= (CHttpFile *)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_DONT_CACHE); 改成这句。 INTERNET_FLAG_DONT_CACHE 不缓存数据,或是在任何网关。 这个网页有介绍http://technet.microsoft.com/zh-cn/magazine/d25ew7sy.aspx
anzi5091104 2014-07-05
  • 打赏
  • 举报
回复
这种问题最好是用随机参数解决, 比如说你读取的页面是http://www.abc.com/1.htm 改成读取http://www.abc.com/1.htm?time=随机数 这也是一种方法,但是编译时提示link错误
Pandorym 2014-07-05
  • 打赏
  • 举报
回复
anzi5091104 2014-07-05
  • 打赏
  • 举报
回复
百度知道上有人说是cookie的问题,可是该怎么解决呢?

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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