`
java2000.net
  • 浏览: 651492 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

检测远程URL是否存在的三种方法

阅读更多

本文用3种方法检测远程URL是否存在。

private void Page_Load(object sender, System.EventArgs e)
{

 string url1 = "http://dotnet.aspx.cc/";
 string url2 = "
http://dotnet.aspx.cc/Images/logo.gif";
 Response.Write("<li>方法1:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingHttpWebRequest(url1).ToString());
 Response.Write("<li>方法2:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingSockets(url1).ToString());   
 Response.Write("<li>方法3:");
 Response.Write(url1 + " 存在:" + UrlExistsUsingXmlHttp(url1).ToString());

 Response.Write("<li>方法1:");
 Response.Write(url2 + " 存在:" + UrlExistsUsingHttpWebRequest(url2).ToString());
 Response.Write("<li>方法3:");
 Response.Write(url2 + " 存在:" + UrlExistsUsingXmlHttp(url2).ToString());
}
private bool UrlExistsUsingHttpWebRequest(string url)
{
 try
 {
  System.Net.HttpWebRequest myRequest =(System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  myRequest.Method = "HEAD";
  myRequest.Timeout = 100;
  System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();
  return (res.StatusCode == System.Net.HttpStatusCode.OK);
 }
 catch(System.Net.WebException we)
 {
  System.Diagnostics.Trace.Write(we.Message);
  return false;
 }
}
private bool UrlExistsUsingXmlHttp(string url)
{
 //注意:此方法需要引用Msxml2.dll
 MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
 _xmlhttp.open("HEAD",url,false,null,null);
 _xmlhttp.send("");
 return (_xmlhttp.status == 200 );
}

private bool UrlExistsUsingSockets(string url)
{
 if(url.StartsWith("http://")) url = url.Remove(0,"http://".Length);
 try
 {
  System.Net.IPHostEntry ipHost = System.Net.Dns.Resolve(url);
  return true;
 }
 catch (System.Net.Sockets.SocketException se)
 {
  System.Diagnostics.Trace.Write(se.Message);
  return false;
 }
}

分享到:
评论

相关推荐

    asp.net下检测远程URL是否存在的三种方法

    ### ASP.NET 下检测远程 URL 是否存在的三种方法 在 Web 开发过程中,经常需要验证一个远程 URL 是否可访问或有效。这种需求可能出现在多种场景中,比如检查外部资源的有效性、确保链接指向的内容仍然可用等。本文...

    PHP判断远程图片是否存在的几种方法

    方法三使用cURL检查远程图片是否存在(改进版): ```php function file_exists($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_NOBODY, true); $result = curl_exec($curl); $found = false; ...

    Javascript判断文件是否存在(客户端/服务器端)

    // URL存在 else if (xmlHttp.status == 404) s += "doesn't exist."; // URL不存在 else s += ""; } alert(s); ``` 这段代码使用了`Microsoft.XMLHTTP`对象来发起一个同步的HTTP GET请求。根据HTTP响应状态码...

    易语言检测网站是否存在

    检测远程文件是否存在也是一种类似的方法,但通常需要将URL指向特定的文件路径。例如,如果URL是`http://example.com/file.txt`,你可以尝试下载这个文件,如果返回成功,说明文件存在;如果返回失败或错误,那么...

    检测Ftp多文件是否存在,不存在,则记录

    我们可以通过创建`FtpWebRequest`实例,设置其`Uri`属性为FTP服务器地址,然后通过`GetResponse`方法获取`FtpWebResponse`对象来检查文件是否存在。 在描述中提到了“线程实现”,这意味着该项目可能使用了多线程...

    ASP远程图片本地化

    1. **检测目标目录是否存在**:通过`CheckDir2`函数来检查指定的目标目录是否已经存在。 2. **创建新的存储目录**:如果目标目录不存在,则通过`MakeNewsDir2`函数创建新的目录用于存放下载的图片文件。 3. **构建...

    asp.net(c#)判断远程图片是否存在

    代码如下:private int GetUrlError(string curl) { int num = 200; if(this.method==1) { HttpWebRequest request=(HttpWebRequest) WebRequest.Create(new Uri(curl)); ServicePointManager.Expect100Continue=...

    php下利用curl判断远程文件是否存在的实现代码

    总之,PHP中的cURL和`get_headers()`都可以用来检查远程文件是否存在,但cURL在性能和灵活性方面更胜一筹。在编写代码时,应根据实际需求和性能考虑选择合适的方法。在资源有限或需要优化效率的场景下,使用cURL配合...

    windows远程桌面(mstsc)看不到进程和对方的实际桌面的解决办法.zip_remoter远程桌面客户端

    4. **检查远程桌面服务**:在服务管理器中,找到“Remote Desktop Services”和“Remote Desktop Services UserMode Port Redirector”服务,确保它们已启动并设为自动启动。 5. **调整防火墙和安全软件设置**:...

    PHP判断远程图片或文件是否存在的实现代码

    首先,通过给定的代码示例,我们可以看到如何应用fopen()函数来检查远程文件是否存在: ```php $url='//***/images/test.jpg'; if(@fopen($url,'r')) { echo 'FileExists'; } else { echo 'FileDoNotExits'; } ``...

    PHP使用get_headers函数判断远程文件是否存在的方法

    其中,`$url`参数是你要请求的远程URL,而`$format`参数可选,如果设置为1,返回的数组会以键值对的形式组织,便于直接访问特定的头部信息。 例如: ```php $url = 'https://www.jb51.net'; $headers = get_...

    JAVA类验证URL

    其核心方法是`isConnect`,用于检测给定URL是否可达。 #### 三、关键代码解析 ##### 1. 类声明与包名定义 ```java package com.xxxxxxxxxxxxxxxxxxxxx; ``` 这里指定了包名,实际应用中应替换为具体的应用程序或...

    基于php的下载远程图片

    4. `checkRemoteFile()`:检查远程文件是否存在,确保下载前图片URL的有效性。 接下来,`1-1.php`和`1.php`可能是两个示例脚本,展示了如何实例化并使用`DownImage`类来下载远程图片。这些脚本通常会包含以下步骤:...

    远程提取图片并生成缩缩略图

    这个过程涉及到多个步骤,包括检查目录是否存在、创建新目录、确定图片URL,以及处理图片本身。 ### 一、检查与创建目录 #### CheckDir2函数 此函数的功能是检查指定路径的目录是否存在。如果存在,函数返回True...

    php远程文件下载类.zip

    // 检查本地目录是否存在,不存在则创建 if (!file_exists(dirname($localPath))) { mkdir(dirname($localPath), 0755, true); } // 使用file_get_contents下载文件 $fileContent = file_get_contents($...

    swift-对AVPlayer的封装支持本地和远程音频的播放

    1. `init(url: URL)` 和 `init(path: String)`:分别用于初始化播放器,传入本地文件路径或远程URL。 2. `play()`:开始播放当前音频。 3. `pause()`:暂停播放。 4. `stop()`:停止播放并重置播放器状态。 5. `seek...

    php远程下载类分享_.docx

    使用此类时,开发者首先创建类的实例,然后调用`OpenUrl`方法打开远程URL,接着可以检查`IsGetOK`和`IsText`方法确保连接和响应正常,最后通过类的方法读取远程文件并写入本地文件系统。 请注意,由于安全性考虑,...

Global site tag (gtag.js) - Google Analytics