方法HttpContent.ReadAsStringAsync()返回无效的html代码。怎么可能?

时间:2019-03-26 19:19:26

标签: c# html dotnet-httpclient httpcontent

这是一些代码,用于从url请求html代码。

var currentUrl = "https://www.google.com";
HttpClient client = new HttpClient();
System.Diagnostics.Process.Start(currentUrl); //here i open a browser with same URL, 
var response = await client.GetAsync(currentUrl);
string sourse = null;


if (response != null && response.StatusCode == HttpStatusCode.OK)
{
     sourse =await response.Content.ReadAsStringAsync(); // here i get the html-code
}

所以,问题是:为什么我从程序中获取的html代码和我在浏览器中的真实页面中的html代码之前打开过几秒钟是不同的?没有意义。

此外,这里有一些证明。第一张图片-浏览器html代码中的字符数 enter image description here

...以及程序HTML代码enter image description here

我给出了最简单的证据,以使问题变得更容易。 但是,如果我深入研究,那么html代码将无处可寻。当我解析一个特定页面时,它应该是39种产品,该程序返回html代码,其中只有6种产品(顺便说一句,这39种产品实际上并不包含在浏览器页面中)。所以我这么简单地问了这个问题。 的确,我在一分钟前用此代码创建了一个新项目,但如上所述,它的工作方式不正确。要获取程序返回的代码,我可以在sourse变量中查找它或将其保留在文件中,然后进行比较。喜欢:

        FileStream fs = new FileStream("report.txt", FileMode.OpenOrCreate);
        StreamWriter SW = new StreamWriter(fs);
        SW.WriteLine(sourse);

0 个答案:

没有答案