@ITの記事のC#でPOSTメソッドほぼ写経。
WebRequest/WebResponseクラスでPOSTメソッドによりデータを送信するには?
http://http://www.atmarkit.co.jp/fdotnet/dotnettips/318webpost/webpost.html
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Net; class Program { static void Main(string[] args) { // POSTする対象のURL string url = "http://www.rarejob.com/login/top.php?mode=off&"; // POSTメソッドで渡すパラメータ string param = ""; // Dictionaryオブジェクト var dic = new Dictionary<string, string>(); dic["USER_ID"] = "メールアドレスを指定"; dic["PASSWORD"] = "パスワードを指定"; // POSTメソッドのパラメータ作成 foreach (string key in dic.Keys) param += String.Format("{0}={1}&", key, dic[key]); // paramをASCII文字列にエンコードする byte[] data = Encoding.ASCII.GetBytes(param); // リクエスト作成 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; // ポストデータをリクエストに書き込む using (Stream reqStream = request.GetRequestStream()) reqStream.Write(data, 0, data.Length); // レスポンスの取得 WebResponse response = request.GetResponse(); // 結果の読み込み string htmlString = ""; using (Stream resStream = response.GetResponseStream()) using(var reader = new StreamReader(resStream, Encoding.GetEncoding("Shift_JIS"))) htmlString = reader.ReadToEnd(); // 結果の出力 Console.WriteLine(htmlString); Console.Write("Press enter to end:"); Console.ReadLine(); } }
0 Kommentarer:
コメントを投稿