【问题标题】:How to read URL starting with view-source in C#如何在 C# 中读取以 view-source 开头的 URL
【发布时间】:2018-09-10 02:51:51
【问题描述】:

我想阅读以下网址,它应该将页面中可用的内容保存到文本文件中。

我使用下面的代码来读取页面源代码:

string address = "view-source:http://stackoverflow.com/";  //any web site url

using (WebClient wc = new WebClient())
{
    var Text= wc.DownloadString(address);            
}

但它抛出异常“无法识别 URI 前缀。”

任何帮助将不胜感激。

谢谢!提前。

【问题讨论】:

  • 当你使用stackoverflow.com 和 DownLoadString 时,你没有得到你想要的 HTML 标记吗?

标签: c# asp.net asp.net-mvc


【解决方案1】:

您通过在该网址前添加 "view-source:" 来使用 Chrome 的一项功能。 WebClient 类可能对该功能一无所知任何。它抱怨“URI 前缀”无法识别。那是字符串的"view-source:" 部分。

因此,删除 URL 的那部分,您将获得一个有效的 url。

string userInput = "view-source:http://stackoverflow.com/";
string address = userInput.Replace("view-source:", "");    

注意:对于在运行和解释 javascript 后提供额外内容的 Web 应用程序,这可能会产生不同的结果。你可能最终得不到你想要的。

编辑:在您发表评论后,听起来您想删除我在答案中反映的以"view-source:" 开头的网址的可能性。

以防万一您正在寻找“post javascript”源。有一个project on github 提供此功能,但我从未使用过它。我只知道它,因为它是由与我一起工作的人维护的。

您还可以找到一个工作示例in this repl

【讨论】:

  • 我想阅读以“view-source:”开头的 URL。有什么办法可以读取这种网址吗?
猜你喜欢
  • 2020-05-12
  • 1970-01-01
  • 2016-07-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 2015-02-15
相关资源
最近更新 更多