2012-03-21 6 views
0

をフェッチするために失敗しましたトレース:htmlagilityパックは、私は、次のコードを実行しようとlocalhostedページ

at HtmlAgilityPack.HtmlDocument.ReadDocumentEncoding(HtmlNode node) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlDocument.cs:line 1916 
    at HtmlAgilityPack.HtmlDocument.PushNodeEnd(Int32 index, Boolean close) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlDocument.cs:line 1805 
    at HtmlAgilityPack.HtmlDocument.Parse() in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlDocument.cs:line 1492 
    at HtmlAgilityPack.HtmlDocument.Load(TextReader reader) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlDocument.cs:line 769 
    at HtmlAgilityPack.HtmlDocument.Load(Stream stream, Boolean detectEncodingFromByteOrderMarks) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlDocument.cs:line 597 
    at HtmlAgilityPack.HtmlWeb.Get(Uri uri, String method, String path, HtmlDocument doc, IWebProxy proxy, ICredentials creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1515 
    at HtmlAgilityPack.HtmlWeb.LoadUrl(Uri uri, String method, WebProxy proxy, NetworkCredential creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1563 
    at HtmlAgilityPack.HtmlWeb.Load(String url, String method) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1152 
    at HtmlAgilityPack.HtmlWeb.Load(String url) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1107 
    at Conduit.CPServices.Logic.HtmlContentMonitor.HtmlAgilityPackHtmlProvider.Init(Url rootUrl) in D:\Conduit\RnD\Server\Services\CP\CPServices\Logic\HtmlContentMonitor\Conduit.CPServices.Logic.HtmlContentMonitor\HtmlAgilityPackHtmlProvider.cs:line 22 
    at Conduit.CPServices.Logic.HtmlContentMonitor.HtmlContentManager.FetchRootAndExternlContentAsByteArray(Url rootUrl) in D:\Conduit\RnD\Server\Services\CP\CPServices\Logic\HtmlContentMonitor\Conduit.CPServices.Logic.HtmlContentMonitor\HtmlContentManager.cs:line 112 
+0

あなたが実際にどのようなURLを使用していますか?ブラウザからローカルにアクセスできますか? – Oded

+0

http:// localhost:85/HCM/HCM.html'ローカルでアクセス可能 –

答えて

1

これは、HtmlAgilityPackのバグです。 <META>タグで設定されたドキュメントのエンコーディングが無効な場合(例:<META http-equiv="Content-Type" content="text/html; charset=8859-9">) Simon Mourier saidとして、これは1.4.0.0で導入されたバグです。

同様のエラーへの回答を参照してください:The HAL internals tries to get an appropriate encoding for this string by using something like Encoding.GetEncoding("8859-9") and this throws an error。これは、手動でエンコーディングを設定避けるため

、例えば:

web.Load(rootUrl.Value, Encoding.GetEncoding("iso-8859-9")); 
+0

この場合、Load()メソッドはこの例外をスローしますか?私はHAP 1.4.6を使用していますが、私の文書は空に見えますが、LoadFile()は例外なくParseErrorsを実行するだけですか? –

0

おそらくHtmlAgilityPackのバグであり、ドキュメントに含まれているHTMLが原因である可能性があります。

HtmlAgilityPackによって解析されているHTMLを投稿できますか?

関連する問題