gpt4 book ai didi

C# 从 HttpWebRequest/WebResponse 中过滤 JS 文件

转载 作者:行者123 更新时间:2023-12-02 17:16:43 24 4
gpt4 key购买 nike

我进行了搜索,但找不到任何对我有用的东西。

不久前,我开始使用 C#,我的第一个个人项目是一个简单的 WebCrawler。它应该检查源代码中的特殊字符串,以确定是否包含 Google Analytics 或类似的内容。

所以它工作正常,但当然我缺少 JS 和 Iframe,因为 HttpWebRequest 不会呈现我所知道的网站。

所以我想检查"<script src=""例如然后通过分割得到URL。但这并没有按预期工作,我认为这不是一个干净且好的方法。

由于我正在检查字符串,因此只需将 "<script" 中的字符串更改即可将其破坏。至"< script"作为示例,所以我不知道如何从大字符串中获取特定字符串。

我找到了正则表达式(rex)和 split,但我不确定 rex 和 split 是否好,因为可能有更多类型的 "src="split("\"", "\"", text)

我不想“给你”,当然我想理解并自己做,但我不知道从这里该去哪里..

抱歉,文字很长,没有示例,但目前我无法访问,除了 rex 和 split 之外,没有太多内容

编辑:我想我会创建一个类来检查每个字符是否有特殊行,例如“

最好,迈克

最佳答案

尝试Html agility pack

我个人没有使用过它,但类似的东西应该可以工作(我没有测试过):

string url = "some/url";
var request = (HttpWebRequest)HttpWebRequest.Create(url);
var webResponse = (HttpWebResponse)request.GetResponse();
var responseStream = webResponse.GetResponseStream();
var streamReader = new StreamReader(responseStream);

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(streamReader.ReadToEnd());

var scripts = doc.DocumentNode.Descendants()
.Where(n => n.Name == "script");

这应该让你所有的脚本节点都可以用它们来做你想要的事情 =)

关于C# 从 HttpWebRequest/WebResponse 中过滤 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24370113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com