本文用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 是否存在的三种方法 在 Web 开发过程中,经常需要验证一个远程 URL 是否可访问或有效。这种需求可能出现在多种场景中,比如检查外部资源的有效性、确保链接指向的内容仍然可用等。本文...
方法三使用cURL检查远程图片是否存在(改进版): ```php function file_exists($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_NOBODY, true); $result = curl_exec($curl); $found = false; ...
// 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`,你可以尝试下载这个文件,如果返回成功,说明文件存在;如果返回失败或错误,那么...
我们可以通过创建`FtpWebRequest`实例,设置其`Uri`属性为FTP服务器地址,然后通过`GetResponse`方法获取`FtpWebResponse`对象来检查文件是否存在。 在描述中提到了“线程实现”,这意味着该项目可能使用了多线程...
1. **检测目标目录是否存在**:通过`CheckDir2`函数来检查指定的目标目录是否已经存在。 2. **创建新的存储目录**:如果目标目录不存在,则通过`MakeNewsDir2`函数创建新的目录用于存放下载的图片文件。 3. **构建...
代码如下:private int GetUrlError(string curl) { int num = 200; if(this.method==1) { HttpWebRequest request=(HttpWebRequest) WebRequest.Create(new Uri(curl)); ServicePointManager.Expect100Continue=...
总之,PHP中的cURL和`get_headers()`都可以用来检查远程文件是否存在,但cURL在性能和灵活性方面更胜一筹。在编写代码时,应根据实际需求和性能考虑选择合适的方法。在资源有限或需要优化效率的场景下,使用cURL配合...
4. **检查远程桌面服务**:在服务管理器中,找到“Remote Desktop Services”和“Remote Desktop Services UserMode Port Redirector”服务,确保它们已启动并设为自动启动。 5. **调整防火墙和安全软件设置**:...
首先,通过给定的代码示例,我们可以看到如何应用fopen()函数来检查远程文件是否存在: ```php $url='//***/images/test.jpg'; if(@fopen($url,'r')) { echo 'FileExists'; } else { echo 'FileDoNotExits'; } ``...
其中,`$url`参数是你要请求的远程URL,而`$format`参数可选,如果设置为1,返回的数组会以键值对的形式组织,便于直接访问特定的头部信息。 例如: ```php $url = 'https://www.jb51.net'; $headers = get_...
其核心方法是`isConnect`,用于检测给定URL是否可达。 #### 三、关键代码解析 ##### 1. 类声明与包名定义 ```java package com.xxxxxxxxxxxxxxxxxxxxx; ``` 这里指定了包名,实际应用中应替换为具体的应用程序或...
4. `checkRemoteFile()`:检查远程文件是否存在,确保下载前图片URL的有效性。 接下来,`1-1.php`和`1.php`可能是两个示例脚本,展示了如何实例化并使用`DownImage`类来下载远程图片。这些脚本通常会包含以下步骤:...
这个过程涉及到多个步骤,包括检查目录是否存在、创建新目录、确定图片URL,以及处理图片本身。 ### 一、检查与创建目录 #### CheckDir2函数 此函数的功能是检查指定路径的目录是否存在。如果存在,函数返回True...
// 检查本地目录是否存在,不存在则创建 if (!file_exists(dirname($localPath))) { mkdir(dirname($localPath), 0755, true); } // 使用file_get_contents下载文件 $fileContent = file_get_contents($...
1. `init(url: URL)` 和 `init(path: String)`:分别用于初始化播放器,传入本地文件路径或远程URL。 2. `play()`:开始播放当前音频。 3. `pause()`:暂停播放。 4. `stop()`:停止播放并重置播放器状态。 5. `seek...
使用此类时,开发者首先创建类的实例,然后调用`OpenUrl`方法打开远程URL,接着可以检查`IsGetOK`和`IsText`方法确保连接和响应正常,最后通过类的方法读取远程文件并写入本地文件系统。 请注意,由于安全性考虑,...