从ASP.NET代码获取一些网站的来源,可以通过以下方法实现:
以下是一个简单的示例代码:
using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using System.Text.RegularExpressions;
namespace GetWebsiteSource
{
class Program
{
static async Task Main(string[] args)
{
string url = "https://www.example.com";
string html = await GetHtmlAsync(url);
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);
string source = ExtractSource(document);
Console.WriteLine(source);
}
static async Task<string> GetHtmlAsync(string url)
{
using HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}
static string ExtractSource(HtmlDocument document)
{
string source = "";
HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//script[@src]");
if (nodes != null)
{
foreach (HtmlNode node in nodes)
{
string src = node.Attributes["src"].Value;
if (src.StartsWith("http"))
{
source += src + "\n";
}
else
{
source += node.BaseUri.AbsoluteUri + src + "\n";
}
}
}
return source;
}
}
}
这个示例代码使用HttpClient库发送GET请求到目标网站,获取HTML代码,并使用HtmlAgilityPack库解析HTML代码。然后,使用正则表达式提取所有的JavaScript文件来源,并将它们输出到控制台。
需要注意的是,这个示例代码只是一个简单的示例,实际应用中可能需要更复杂的逻辑和更严格的错误处理。
领取专属 10元无门槛券
手把手带您无忧上云