-1

プロジェクトで、外部Webサイトにログインし、Webサイトからファイルをダウンロードする必要があるというリクエストがあります。ログインするためのユーザー名/パスワード以外にWebサイトにアクセスできません。C#を使用してこの機能を実現する方法はありますか?ありがとう!

4

3 に答える 3

2

Web サイトと認証の種類によって異なります。

1) WebClient クラスの使用

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential(username, password);
wc.DownloadFile(url, "c:\\");

2) 最初の方法が機能しなかった場合は、webbrowser コントロールを使用して達成できます

 HtmlElement ele = webBrowser1.Document.GetElementById("email");
 if (ele != null)
    ele.InnerText = "username";

 ele = webBrowser1.Document.GetElementById("pass");
 if (ele != null)
    ele.InnerText = "pass";

 ele = webBrowser1.Document.GetElementById("Login");
 if (ele != null)
    ele.InvokeMember("click");
于 2012-12-15T19:06:33.450 に答える
0

WebBrowser コントロールを WATIN ライブラリと共に使用して、サイトをナビゲートし、ダウンロード ボタンをクリックすることができます。

WebBrowser コントロールには、処理できる「ファイルのダウンロード」イベントがあります

于 2012-12-15T19:06:30.890 に答える
0

手動で実行できる場合は、C# または HTTP 要求をサポートするその他の言語を使用してプログラムで実行できます。あなたに必要なのは :

  1. サーバーに対して正しく認証する方法を理解してください。これが完了すると、認証トークンと、このトークンに関連付けられたセッションが取得されます。次に、サーバーへの後続のすべてのリクエストにトークンを添付します。

  2. その特定のリソースを取得するために送信する要求を見つけます。特定の URL に対する GET リクエストだと思います。手動で行う場合は、Fiddlerを使用して、送信された要求を確認します。

于 2012-12-15T19:08:40.477 に答える