The parameter '{0}' cannot be an empty string.

あるウェブサイトにログイン後にファイルをダウンロードしようと画策していた.

WebRequestでごにょごにょやるのではなく,
ログイン操作のみWebBrowserコントロールを用いて行い,
あとからWebBrowserコントロールの中のCookieを引っ張りだして来ることにした.


コードはこんな感じ.

cookieContainer = new CookieContainer();
cookieContainer.Add(new Cookie(name,tag));

実行してみたところ
cookieContainer.Add
の部分で例外が発生.

System.ArgumentException: The parameter '{0}' cannot be an empty string. Parameter name: cookie.Domain

Domainを空にしてはいけないとのことなので,

Webbrowser内に入っているDomainをそのまま拝借

wc.CookieContainer.Add(new Cookie(name,tag){Domain = webBrowser1.Document.Domain});

こういう書き方もできるんですね.

以上
解決

※似たようなエントリがあった.
http://stackoverflow.com/questions/18667931/httpwebrequest-add-cookie-to-cookiecontainer-argumentexception-parameternam

タグ:

コメント(0)

コメントを投稿する