2017-01-02 15 views
1

入力を求めるWebページがあるとしたら、データベースでユーザーのユーザー名とパスワードを検索し、パスワードを復号化して、入力されたパスワードがデータベース内のユーザーのパスワードログインをC#winformsアプリケーションに切り替えるにはどうすればよいですか?私はどのようにしてusernameとpasswordを入力してhttpリクエストを作成したのでしょうか?サイトでusername/password文字列を受け取り、前に述べたのと同じ方法でdbを検索してからtrueを入力してください。 false:ユーザーが間違った情報を入力しました。どうすればいい?httpリクエストを作成してCで応答を取得する方法

+0

「php」タグはなぜここにありますか?どんなAPIを呼び出す必要がありますか? –

+0

ので、Windowsフォームからサイトを呼び出すしたいですか? – CodingYoshi

+1

こちらをご覧くださいhttp://stackoverflow.com/questions/4088625/net-simplest-way-to-send-post-with-data-and-read-response – Beginner

答えて

2

これを行うには、ユーザー名とパスワードを入力する必要があるので、サーバーがpostメソッドで最も可能性の高い要求を受け入れる方法を最初に知っている必要があります。 Live Http Headersのようなブラウザの拡張子を で取得しました。 それは次にあなたが作成することになり、この

http://yourwebsite/extension 

POST /extension HTTP/1.1 
Host: yourwebsite 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Content-Length: 85 
Content-Type: application/x-www-form-urlencoded 
Connection: keep-alive 
HereShouldBeThePoststring 

ようになるはずですHttpWebRequestの、あなたはあなたのデータをポストだろうウェブサイトのURL

  using System.Net; 
 
      string postUrl = "YourWebsiteUrlWithYourExtension"; 
 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
を使用して

string postString = "ThePostStringYouObtainedUsingLiveHttpHeaders"; 
 
      request.Method = "POST"; 
 
      byte[] Content = Encoding.ASCII.GetBytes(postString); 
 
      request.ContentLength = Content.Length; 
 
      using (Stream stream = request.GetRequestStream()) 
 
      { 
 
       stream.W

、あなたは、あなたがデータをあなたの必要性を得るためにあなたの文字列を解析しまう応答文字列

string responsestring = null; 
 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
 
      using (StreamReader reader = new StreamReader(response.GetResponseStream())) 
 
      { 
 
       responsestring = reader.ReadToEnd(); 
 
      }

になるだろう。 解析に適したライブラリはHtml Agility Packです。

関連する問題