如何在c#中找到URL的内容

本文关键字:URL | 更新日期: 2023-09-27 18:03:14

我有一个URL。现在我想找出URL的内容。我所说的URL内容是指URL是否包含html页面、视频或图像/照片。

如何在c#中找到URL的内容

最简单的方法是使用HttpWebRequest:

执行HEAD请求。
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "HEAD";
using (var response = (HttpWebResponse)req.GetResponse())
{
    // Here, examine the response headers.
    // In particular response.ContentType
}

在某些情况下,HEAD可能会给您一个405错误,这意味着服务器不支持HEAD。

在这种情况下,只需执行GET请求(更改req.Method = "GET")。这将开始下载页面,但您仍然可以查看内容类型头。

可能开始使用WebClient并访问/下载页面。然后使用HTML解析器和您认为最好的任何方法来确定页面上的内容类型。

除了遵循链接,获取结果并从文件内容中找出它是什么文件(这相当棘手)之外,没有傻瓜式的方法。

您可以尝试从文件扩展名或返回的content-type头(您可以发出HEAD请求)确定类型应该是什么。这将告诉您服务器声明的文件类型。

为了便于测试,这是一个控制台应用程序,但它应该与ASP一起工作。. NET:

namespace ConsoleApplication1
{
  using System;
  using System.Net;
  class Program
  {
    static void Main()
    {
      //var request = WebRequest.Create("https://www.google.com"); // page will result in html/text
      var request = WebRequest.Create(@"https://www.google.de/logos/2013/douglas_adams_61st_birthday-1062005.2-res.png");
      request.Method = "HEAD"; // only request header information, don't download the whole file
      var response = request.GetResponse();
      Console.WriteLine(response.ContentType);
      Console.WriteLine("Done.");
      Console.ReadLine();
    }
  }
}
相关文章:
  • 没有找到相关文章