关于wininet(InternetOpen、InternetConnect等函数)的问题

kongxiang88 2009-07-05 07:08:08
var
hIs,hIc,hIR: Hinternet;
begin
hIs := InternetOpen('HttpGet', INTERNET_OPEN_TYPE_DIRECT,
NIL, NIL,0);
hIc := InternetConnect(hIs, www.sina.com.cn, INTERNET_DEFAULT_HTTP_PORT,
NIL, NIL, INTERNET_SERVICE_HTTP,0,0);
hIR := HttpOpenRequest(hIC, nil, '/动态页面.html', nil, nil,nil, 0,0);
if HttpSendRequest(hIR, nil, 0,nil,0) then
begin
while InternetReadFile(hIR, pcbuf,1024,dwRead) do
{}
end;
end;

以上代码每次触发取出的pcbuf都是完全一样的,我怀疑是InternetOpen第二次以后读的是本地缓存文件中的信息,不知道怎么搞可以让它每次取出的值不同,请大家指点下
...全文
720 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanguomi 2009-07-06
  • 打赏
  • 举报
回复
InternetOpen第二次以后读的是本地缓存文件中的信息. 你怀疑没错
把缓存清掉,有个API的, DELETE开头的,你去查下
notebook800 2009-07-06
  • 打赏
  • 举报
回复
try...

var
szAcceptType: array[0..1] of pChar;

begin
...
szAcceptType[0] := pChar('*/*');
szAcceptType[1] := nil;

WiniNet.HttpOpenRequest(hConnect, pChar('GET'), pChar('/动态页面.html'), HTTP_VERSION,
nil, @szAcceptType, INTERNET_FLAG_DONT_CACHE or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD or INTERNET_FLAG_EXISTING_CONNECT, 1);

end;
sanguomi 2009-07-06
  • 打赏
  • 举报
回复
DeleteUrlCacheEntry 清理缓存
阿呆_ 2009-07-06
  • 打赏
  • 举报
回复
HttpOpenRequest中加上INTERNET_FLAG_NO_CACHE_WRITE试试
kongxiang88 2009-07-05
  • 打赏
  • 举报
回复
谁能帮帮我
kongxiang88 2009-07-05
  • 打赏
  • 举报
回复
不行的
ccdarkness 2009-07-05
  • 打赏
  • 举报
回复
应该不是缓存的问题,可能是你的参数错误了吧
HttpOpenRequest(hIC, nil, '/动态页面.html', nil, nil,nil, 0,0); 你把 '/动态页面.html',前面的路径写完整试一时试

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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