如何在C#中以view-source开头的URL进行读取

时间:2018-09-09 18:31:40

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

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

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

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

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

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

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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

注意:对于运行和解释了javascript之后提供其他内容的网络应用,这可能会产生不同的结果。您可能最终无法获得想要的东西。

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

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

您还可以找到一个有效的示例in this repl