5


0

C#でWebサイトにプログラムでログインすることはできますか?

Webページをロードし、ログインにwebformパラメーターを渡し、リンクをクリックしてページ情報をダウンロードするC#プログラムを作成することは可能ですか? 明らかに、ユーザー名とパスワードを提供します。

コンテキストでは、学校のアカウントに新しいニュースの更新があるかどうかを確認するとします。学校のユーザー名/パスワードでログインする必要があります。 プログラムに必要な情報を提供し、何らかの方法でこれらのパラメーターをWebフォームに渡してページに沿って続行するようにできますか?

4 Answer


8


はい、プログラムでサイトにログインできます。

学校のWebサイトがログインを処理する方法を知る必要があります。 たとえば、学校のWebサイトのログインハンドラーはLogin.aspxであり、ユーザー名とパスワードをPOSTとして受け取り、http://msdn.microsoft.com/en-us/library/を使用してプログラムからPOSTリクエストを送信する必要があるとしますsystem.net.webrequest.aspx [WebRequest]、ユーザー名とパスワードをPOST変数としてリクエストに追加します。

お役に立てば幸いです。


5


ログインページでHTTP認証が使用されている場合(ブラウザにユーザー名/パスワードのプロンプトが表示される場合)、次のようなURLで送信できます。

http:// username:[email protected]/

WebRequestでは、Credentialsプロパティを設定し、ユーザー名とパスワードをそのまま使用することもできます。


2


WebRequestクラスを使用してフォームを送信します

例:http://msdn.microsoft.com/en-us/library/debx8sh9.aspx


1


WebRequest`クラスを使用する別の方法は、http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx [* WebBrowser` *]コントロールです。 基本的には、プログラムとユーザー操作の両方で制御できるInternet Explorerの「パネル」です。 コントロールのAPIは使用するのが少し難しい場合がありますが、ロードされたページのDOMへのアクセスを提供し、コードを介して操作することができます。 これは便利な場合があります。 いくつかのWebスクレイピングアプリケーションで自分で使用しました。