我整个上午都在和这个问题作斗争。我从post请求中得到结果,并将它与Fiddler结果相比较。但是当我在HtmlAgility doc.LoadHtml(str);
中加载它时,字符串不会被识别为html,因此我无法解析它。为了验证上面的响应是否正确,我创建了一个字符串变量并为其分配了确切的上述响应,et viola将其识别为Html。我找不到我错过的东西。
HttpClient client = new HttpClient();
string data = string.Empty;
StringContent queryString = new StringContent(data);
HttpResponseMessage response = await client.PostAsync(Url, queryString, ct);
response.EnsureSuccessStatusCode();
string str = await response.Content.ReadAsStringAsync();
doc.LoadHtml(str);
doc.Text
已加载,但未格式化,因此我无法解析它。
当我将string str
内容分配给上述结果时:
string str = ""\r\n\r\n\u003cdiv class=\"media-window\" style=\"position: fixed; left: 25px; top: 25px; right: 25px;\r\n display: none; bottom: 10px;\"\u003e\r\n \u003cspan class=\"layer-close\"\u003e\u003ca href=\"javascript:void(0);\" class=\"close\"\u003eClose\u003c/a\u003e\u003c/span\u003e\r\n"
doc.LoadHtml(str);
它被加载并解析得很好。
答案 0 :(得分:0)
提出正确的问题最终会给你正确答案:
var decodedString = Regex.Unescape(yourString);