判断一个URL地址是否存在

所有方法都来自网上还未测试

 1.JS方法
xmlhttp.open("HEAD", "http:://..../*.jpg",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200)
alert("URL Exists!")
else if (xmlhttp.status==404)
alert("URL doesnt exist! ")

2 .ASP
Function Getbody(Url)
On Error Resume Next
Set Retrieval = Createobject("Microsoft.Xmlhttp")
With Retrieval
.Open "Get", Url, False
.Send
IF .readyState=4 THEN
if .status=200 THEN
RESPONSE.Write("1")
elseif .status=404 THEN
RESPONSE.Write("2")
END IF
END IF
'Getbody = .Responsebody
End With
Set Retrieval = Nothing
End Function
Getbody("http://192.168.1.67/dictionary.htm")

3.ASP.NET

用WebClient去请求,然后判断请求结果..  
Try  
                          Cursor.Current   =   Cursors.Hand  
                          Dim   Filename   As   String   =   "zxerp.exe"  
                          Dim   DownUrl   As   String   =   "http://"   &   serverName   &   "/download/aaa/"   &   Filename  
                          Dim   myStringWebResource   As   String   =   DownUrl  
                          Dim   myWebClient   As   New   WebClient()  
                          myWebClient.DownloadFile(myStringWebResource,   Application.StartupPath   &   "/csdn.gif")  
                          myWebClient.Dispose()  
                  Catch   ex   As   Exception  
                          MsgBox(Err.Description   &   "   "   &   Err.Number,   MsgBoxStyle.Critical   +   MsgBoxStyle.OKOnly,   "提示")  
                          Cursor.Current   =   Cursors.Default  

                          Exit   Sub  
                  End   Try  
                  Cursor.Current   =   Cursors.Default

WebRequest的HEAD方法。不用下载文件的,快速
Private   Function   ResourceExists(ByVal   URL   As   String)   As   Boolean  
          Dim   wr   As   WebRequest   =   WebRequest.Create(URL)  
          Dim   res   As   WebResponse  
          Try  
                  res   =   wr.GetResponse  
                  Return   True  
          Catch   ex   As   Exception  
                  Return   False  
          End   Try  
  End   Function  

在.NET中利用XMLHTTP下载文件

 
using  MSXML2;
private   void  Page_Load( object  sender, System.EventArgs e)
{
string Url = "http://dotnet.aspx.cc/Images/logoSite.gif";
string StringFileName = Url.Substring(Url.LastIndexOf("/") + 1);
string StringFilePath = Request.PhysicalApplicationPath;
if(!StringFilePath.EndsWith("/")) StringFilePath += "/";
MSXML2.XMLHTTP _xmlhttp 
= new MSXML2.XMLHTTPClass();
_xmlhttp.open(
"GET",Url,false,null,null);
_xmlhttp.send(
"");
if( _xmlhttp.readyState == 4 )
{
if(System.IO.File.Exists(StringFilePath + StringFileName))
System.IO.File.Delete(StringFilePath 
+ StringFileName);
System.IO.FileStream fs 
= new System.IO.FileStream(StringFilePath + StringFileName, System.IO.FileMode.CreateNew);
System.IO.BinaryWriter w 
= new System.IO.BinaryWriter(fs);
w.Write((
byte[])_xmlhttp.responseBody);
w.Close();
fs.Close();
Response.Write (
"文件已经得到。<br><a href='" + Request.ApplicationPath + StringFileName +"' target='_blank'>");
Response.Write (
"查看" + StringFileName + "</a>");
}

else
Response.Write (_xmlhttp.statusText);
Response.End();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值