2012-02-23 2 views
0

私はプログラムで(コンソールアプリケーションを通じて)ウェブサイトにpingを行い、そのサイトで使用されているすべてのクッキーの詳細を返そうとしています。C#を使用してJavascriptで管理されたクッキーをプログラムで返す

私はヘッダのみ要求を介して管理これらのクッキーをキャプチャし、Javascriptを使用して設定したものを逃し使用しています次のアプローチ:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.CookieContainer = new CookieContainer(); 
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"; 
request.Method = "GET"; 

response = (HttpWebResponse)request.GetResponse(); 

foreach (Cookie c in response.Cookies) 
{ 
    cookie.Add(c); 
} 

誰かが、おそらくこれが設定されたJavaScriptを含むように拡張することができる方法を提案を提供することができますクッキー?

ありがとうございます!

+0

他のサイトのクライアントサイドのJavaScriptで作成して設定したクッキー値を取得する方法を尋ねていますか? –

+0

はい。私は自動的に一連のサイトを閲覧し、収集したクッキーを記録するクローラを作成しています。 – stats101

+0

あなたはちょうどウェブサイトprogramaticalyをpingすると、javascript doesntが実行されるので、javascript cookieは設定されていません。 – mpm

答えて

0

私は欲しいものに近い何かを達成することができました(まだ解決策をテストしていますが、第三者からの追跡用のクッキーが欠落しているようです)。しかし、私がしたのは、SeleniumとChrome Driverの実行ファイルを使用したことでした。それは、クロムのインスタンスを開き、URLにナビゲートし、動的に生成されたすべての情報を取り戻し、C#を使用して質問することができます。 :)

0

まあ、確かではないが、答えはノーであるJavaScriptとクライアント側で動的に作成されたCookieを取得する簡単な方法があれば、これはあなたが求めている

なりますが...どのくらいのヘルプ私は何かが欠けている場合を除き、そうではありません。

.NETブラウザコントロールをラッピングして、JavaScriptを自動化されたWebスクリプトで実行してからDOMをスクラップするなど、もっと難しい方法がありますか?私には良いアイデアのようには聞こえません。

他の考えを歓迎します。

関連する問題