我正在尝试开发Windows Phone应用程序,该应用程序将HTML页面(通过Web检索)解析为HTMLDocument变量,并使用它来检查页面,检索值等。即使尝试连接到BBC News Home page之类的页面我收到一个错误。
System.TypeAccessException: Attempt by security transparent method 'HtmlAgilityPack.HtmlWeb.LoadFromWebAsync(System.Uri, System.Text.Encoding, System.Net.NetworkCredential)' to access security critical type 'System.Net.NetworkCredential' failed.
at HtmlAgilityPack.HtmlWeb.LoadFromWebAsync(Uri uri, Encoding encoding, NetworkCredential credentials)
at HtmlAgilityPack.HtmlWeb.<LoadFromWebAsync>d__0.MoveNext()
该页面不需要凭据,因此我很困惑为什么遇到此错误。这是代码。
private async Task GetHtmlDocument(string url)
{
Debug.WriteLine("This is a line");
try
{
HtmlWeb web = new HtmlWeb();
HtmlDocument rootDocument = await web.LoadFromWebAsync(url);
}
catch (Exception e)
{
Debug.WriteLine("Exception: " + e);
}
}
我正在使用Windows Phone 8.1,我可能需要在问题中提及它。以下工作。
private async Task GetHtmlDocument(string url)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Credentials = new LoginCredentials().Credentials;
try
{
WebResponse myResponse = await request.GetResponseAsync();
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.Load(myResponse.GetResponseStream());
} catch (...) { ... }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句