を使用したときと同じように、WebRequest クラスを使用してプレーン テキストを取得したいと考えていますwebbrowser1.Document.Body.InnerText
。次のコードを試しました
public string request_Resource()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myurl);
Stream stream = request.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(stream);
WebBrowser wb = new WebBrowser();
wb.DocumentText = sr.ReadToEnd();
return wb.Document.Body.InnerText;
}
私が実行すると、これは get aNullReferenceException
です。
プレーンテキストを取得するより良い方法はありますか。
注: Web ブラウザ コントロールを直接使用して Web ページをロードすることはできません。これは、ページがロードされるたびに複数回発生するすべてのイベントを処理したくないためです。
更新: 提案に応じて、WebRequest の代わりに WebClient クラスを使用するようにコードを変更しました。私のコードは次のようになります。
public string request_Resource()
{
WebClient wc = new WebClient();
wc.Proxy = null;
//The user agent header is added to avoid any possible errors
wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 ( .NET CLR 3.5.30729; .NET4.0C)");
return wc.DownloadString(myurl);
}
HTML ユーティリティ パックの使用を検討しています。