私のアプリケーションからWebサイトにログインしようとしています。 私がしたこと:HttpWebRequest:CookieContainerにCookieを追加 - > ArgumentException(Parametername:cookie.Domain)
最初に、ブラウザがFiddlerの認可プロセスをどのように行うのかを理解しました。 POST要求がどのように構築されているかを調べ、再構築しようとしました。 ブラウザが4つのクッキー(Googleアナリティクス)を送信し、私はそれらを設定しようとしました:
CookieContainer gaCookies = new CookieContainer();
gaCookies.Add(new Cookie("__utma", "#########.###########.##########.##########.##########.#"));
gaCookies.Add(new Cookie("__utmb", "#########.#.##.##########"));
gaCookies.Add(new Cookie("__utmc", "#########"));
gaCookies.Add(new Cookie("__utmz", "#########.##########.#.#.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"));
(ちょうど#でオリジナルクッキーのデータを置き換え)
をそれから私は、デバッガでコードを経て、できるだけ早く最初gaCookies.Addが実行されるように、アプリケーションは、私はこれが起こる理由を知りたい
System.ArgumentException: The parameter '{0}' cannot be an empty string. Parameter name: cookie.Domain
で停止します。 Cookieのコンストラクタはドメインを必要とせず、この値をどこで取得できるのかわかりません。
あなたの誰かが私にこれを手伝うことができれば、とても素晴らしいことでしょう。
私はウェブデベロッパーでも、ウェブサイトの専門家でもないので、私はそれについて詳しくは分かりません。
"短くて素早い答え"がなければ、これについて学ぶことができる素晴らしい情報源がありますか?
このクラスは、自己文書化であり、スタックオーバーフローの質問である必要はありません。少なくともマイクロソフトは正しい方向に1歩進んだが、一般的な「エラーが発生しました」というメッセージは表示されませんでした。 – Brain2000