質問: これは、スクリプトの中で設定されたクッキー(おそらくスクリプトタグ内の)に関係します。 `System.Windows.Forms.HtmlDocument`はそれらのスクリプトを実行し、 *Cookie*プロパティ( `document.cookie=etc...` )は*Cookies*プロパティで取得できます。 私は`HtmlAgilityPack.HtmlDocument`はこれを(実行)しないと仮定します。 `System.Windows.Forms.HtmlDocument`機能(クッキー部分)をエミュレートする簡単な方法があるのだろうかと思います。 誰でも?
回答: *Cookie*と*HtmlAgilityPackを*一緒に使う必要があるときや、カスタムリクエストを作成するとき(例えば、 `User-Agent`プロパティを設定するときなど)は、ここで私がしていることです: * 要求/応答をカプセル化するクラスを作成します。このクラスの`WebQuery`呼び出しましょう * そのクラスの中にプライベートな*CookieCollection* (あなたの場合は**public** )プロパティを持っている * 手動で要求を行うクラス内にメソッドを作成します。署名は次のとおりです。 ... ``` public HtmlAgilityPack.HtmlDocument GetSource(string url); ``` **この方法の中で何をする必要がありますか?** *HttpWebRequest*と*HttpWebResponse*を使用して手動でhttpリクエストを生成します(インターネットでこれを行う方法の例がいくつかあります)。ストリームを受け取るコンストラクタを使用して`HtmlDocument`クラスのインスタンスを作成します。 **私たちは何の流れを使いますか?**まあ、戻った人は: ``` httpResponse.GetResponseStream(); ``` *HttpWebRequest*を使用してクエリを作成する場合は、新しいページにアクセスするたびに宣言した変数に`CookieContainer`プロパティを簡単に設定できます。そのため、 **アクセスするサイトによって設定されたすべてのCookieが`CookieContainer`変数に適切に格納されますあなたは、あなたの中で宣言`WebQuery`**あなたの唯一のインスタンスを使用している数に取って、 **クラス** `WebQuery`クラスを。 この説明が役立つことを願っています。これを使うと、 *HtmlAgilityPackが*サポートしているかどうかに*かかわら*ず、何でもできます。