2011-12-20 5 views
0

ここで別のWebサイトのURLを呼び出し、そのWebサイトにログインして、asp.netプロジェクトを使用してその機能の1つを使用したいとします。私はWebベースのプログラムが携帯電話にSMSを送信するasp.netのプロジェクトに取り組んでいます。私は任意のゲートウェイまたは同様に加入したくないので、私はこのウェブサイトを見つけました:自分のasp.netページを使用してウェブサイトにアクセスするには?

http://sms80.com 

今、私が何をしたいのか、私のasp.netのページから、私は、ログインして使用、このウェブサイトにアクセスする必要があり、そのサービスがすべてこれは私のasp.netページ内のプログラムで隠されて行う必要があります。

私は何とかログイン名のテキストボックスとパスワードのテキストボックスなどのウェブサイトの要素を調べました。私はハッキングしようとしていないが、私はちょうど私がそのウェブサイト(私は私のアカウントを使用してログインし、私のメッセージを書いて、携帯電話番号を書くと送信)programatically私のasp.netで行うプロセスを知っている必要があります。

私はいくつかの研究を行なったし、私が送信または渡す値をのようなURLをまっすぐにできることを発見した:

your_url.aspx?your_url_variable=" + @variable_from_form 

が、それは仕事をいないようです。それを行うには他の方法ですか?

+0

私はあなたが最初にハッキングの本を読む必要があると思う:) –

答えて

1

他のウェブサイトにプログラムでログインするAPIがない場合は、簡単なプロセスではありません。

これは、ログインしようとしているウェブサイトの仕組みを調査し、分析することが必要です。このプロセスは、最初に、Fiddlerのようなツールを使用して、要求/応答通信のポスト・データで何が送信されているかを判別することから構成されます。

次に、HttpWebRequest/HttpWebResponseクラスまたはWebClientクラスのいずれかを使用して一連のGETとPOSTを構築する必要があります。ブラウザの動作を模倣することができます。

例は次のようになります。あなたは"sending form parameters using GET"と呼ばれている、あなたの質問に記述されている何

string url = "http://sms80.com"; 
HttpWebRequest http = (HttpWebRequest)WebRequest.Create(url); 
http.CookieContainer = _cookieJar; 
http.Connection = "Keep-alive"; 
http.Method = "POST"; 
http.ContentType = "application/x-www-form-urlencoded"; 
string postData="username=" + username + "&password=" + password; 
byte[] dataBytes = UTF8Encoding.UTF8.GetBytes(postData); 
http.ContentLength = dataBytes.Length; 
Stream postStream = http.GetRequestStream(); 
postStream.Write(dataBytes, 0, dataBytes.Length); 
postStream.Close(); 
// see if we're logged in 
HttpWebResponse httpResponse = (HttpWebResponse)http.GetResponse(); 
// continue (read the response etc.) 
+0

私は少し混乱しています。このコードでこのURLをここで指定する必要があるのはどこですか? – Memoc

+0

@Memoc - 最初の行...私はそれがより明確であるように私の答えを編集しました – TheBoyan

+0

それはユーザー名とパスワードの変数はどのウェブサイトの変数を使用するかによって異なりますか? – Memoc

0

。 HTMLフォームからのデータ要求を模倣する可能性はありますが、サーバーはHTTPヘッダー内の他のデータ(フォームのページである必要があります)をチェックし、リクエストの実行を拒否することがあります。私はSMSを送信するために設計されたサイトがこの保護メカニズムを持っているかもしれないと想像することができます。

この機能を実装する正しい方法は、APIへのアクセスをリクエストすることです。アプリケーションから呼び出して、SMSを送信するなどの特定の操作を実行するWebサービスに送信します。これはwebformからSMSを送信するほど安くはないかもしれませんが、これはあなたのアプリケーションにこの機能を組み込む唯一の正当な方法です!

関連する問題