delphi 如何检测网站上的某个文件是否存在?

gggyniiw 2009-04-23 07:57:33
delphi 如何检测网站上的某个文件是否存在?

用idhttp1.get 这个可以吗?我是刚学delphi,还是没看过书的那种,对idhttp的了解与使用也就到.get这步...都是百度找凑来的...
现在遇到问题了,我用idhttp1.get('http://127.0.0.1/1.txt')如果这个文件存在的话,程序什么都正常,但是如果1.txt不存在,或者我没开IIS的话,程序就会报错

请大侠能不能把代码发一下
...全文
323 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 mosaic 的回复:]
晕倒,楼主是在IDE环境下运行,那就是会和上面14楼说的那样。

你直接找到生成的exe文件来执行,应该就没问题了。
[/Quote]
真的非常感谢你~!果然如你所说~~一人一半吧~~
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
好的,我试试
mosaic 2009-04-23
  • 打赏
  • 举报
回复
晕倒,楼主是在IDE环境下运行,那就是会和上面14楼说的那样。

你直接找到生成的exe文件来执行,应该就没问题了。
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 mosaic 的回复:]
IIS没开的话,肯定连都连不上,可以捕获异常来处理。
[/Quote]
能给个简单的例子吗,万分感谢~~
mosaic 2009-04-23
  • 打赏
  • 举报
回复
哦,没仔细看,楼主已经有异常捕获的代码, 捕获不到?

mosaic 2009-04-23
  • 打赏
  • 举报
回复
IIS没开的话,肯定连都连不上,可以捕获异常来处理。
chys3584 2009-04-23
  • 打赏
  • 举报
回复
不熟,帮你顶.
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
就是报这种错误



linlingwei 2009-04-23
  • 打赏
  • 举报
回复
同样也关注该问题.
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
不是,是直接F9
monkely 2009-04-23
  • 打赏
  • 举报
回复
你是调试状态吗?如果是调试状态报错后按F9键继续执行
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 monkely 的回复:]
try
idhtp1.Head('http://localhost/说明1.txt');
except
on e : Exception do
mmo1.Text := e.Message; //你可以在这里分别对多种错误做处理
end;
[/Quote]

我的意思是说,到了idhtp1.Head('http://localhost/说明1.txt'); 这一句后,程序直接崩溃了,运行不了了...
monkely 2009-04-23
  • 打赏
  • 举报
回复
try
idhtp1.Head('http://localhost/说明1.txt');
except
on e : Exception do
mmo1.Text := e.Message; //你可以在这里分别对多种错误做处理
end;
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
在 idhtp1.Head('http://localhost/说明1.txt');
这句就报错了
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 monkely 的回复:]
try
idhtp1.Head('http://localhost/说明1.txt');
except
end;
mmo1.Text := idhtp1.ResponseText;

如果网站有你要的文件,mmo1.text里面是HTTP/1.1 200 OK,如果没有mmo1.text里面是HTTP/1.1 404 Object Not Found
[/Quote]
这个方法我试过,但如果我自己电脑IIS没开的话,依然报错!
monkely 2009-04-23
  • 打赏
  • 举报
回复
idhtp1.Head方法没有将完整的文件下下来,如果要取完整文件用idhtp1.Get
monkely 2009-04-23
  • 打赏
  • 举报
回复
try
idhtp1.Head('http://localhost/说明1.txt');
except
end;
mmo1.Text := idhtp1.ResponseText;

如果网站有你要的文件,mmo1.text里面是HTTP/1.1 200 OK,如果没有mmo1.text里面是HTTP/1.1 404 Object Not Found
gggyniiw 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mosaic 的回复:]
应该要分析http服务端的错误码idhttp1.ResponseCode,比如404就表示服务器上的文件不存在。
[/Quote]

麻烦这位朋友能否给下代码....
sparklerl 2009-04-23
  • 打赏
  • 举报
回复
等高手上班
呵呵

没用过这个
加载更多回复(3)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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