C# 如何在使用c语言对域进行web爬网时确定页面类型#

C# 如何在使用c语言对域进行web爬网时确定页面类型#,c#,asp.net,web-crawler,webrequest,C#,Asp.net,Web Crawler,Webrequest,我试图看看是否有一种具体的方法来确定主页url的页面类型或扩展名。例如,如果我对一个域(如www.example.com)执行web请求,则返回的是.PHP或.ASP扩展类型的页面。我想尝试扫描范围内的所有域,并仅返回.asp经典页面和站点作为示例 一般来说,您无法确定服务器如何响应URL请求。假设您不能查看扩展(如您所描述的情况),那么响应头可能会有所帮助。例如: 查看X-AspNet-Version。如果存在后者,则几乎可以肯定是运行ASP.NET的IIS。如果失败,请查看服务器标题,该标题

我试图看看是否有一种具体的方法来确定主页url的页面类型或扩展名。例如,如果我对一个域(如www.example.com)执行web请求,则返回的是.PHP或.ASP扩展类型的页面。我想尝试扫描范围内的所有域,并仅返回.asp经典页面和站点作为示例

一般来说,您无法确定服务器如何响应URL请求。假设您不能查看扩展(如您所描述的情况),那么响应头可能会有所帮助。例如:

  • 查看
    X-AspNet-Version
    。如果存在后者,则几乎可以肯定是运行ASP.NET的IIS。如果失败,请查看
    服务器
    标题,该标题可能类似于“Microsoft IIS/8.0”
  • 查看
    访问控制允许方法
    。如果这不存在或设置为仅在IIS上获取和发布(请参见上文),则可能是经典的ASP或ASP.NET
  • 一些网站可能包含专家标题。例如,博客站点可能包含标题
    X-Pingback
    ,该标题可能指向带有扩展名的URL
  • 另一个选择是使用白帽黑客工具。我知道但不一定知道页面是如何生成的。但是,我不建议未经网站事先许可就这样做,因为这可能被视为攻击


    让我退一步。为什么要确定他们是否正在运行ASP?如果您正在寻找要利用的漏洞,请将问题提交给安全论坛。如果您是控件编写者,并且希望查看是否有人在盗用您的工具,请在控件输出中嵌入一段不同的HTML,以便扫描。

    谢谢您的回复。是的,我不能使用外部工具,因为我需要在应用程序中解决一些其他问题,但我确实喜欢你关于“使用唯一代码扫描”的建议。我不认为有办法,但我从不认为我100%知道答案。只是检查一下我没有忽略什么。再次感谢。