C# HTTPリクエストのサンプル
概要
HTTP リクエストを送るサンプルです。
いろんな要素があると思います。使うクラスが違うとか、同期/非同期とか、とか。
一例ということで。
詳細
private static string SendHttpRequest(string url, string jsonStr) { try { //文字コードを指定する Encoding encoding = System.Text.Encoding.GetEncoding("utf-8"); //WebRequestの作成 System.Net.WebRequest req = System.Net.WebRequest.Create(url); if (jsonStr.Length == 0) { //GETリクエスト req.Method = "GET"; req.ContentType = "application/json"; req.Headers.Add("X-AUTH-TOKEN", authToken); } else { //POST送信するデータを作成 byte[] postDataBytes = Encoding.UTF8.GetBytes(jsonStr); req.Method = "POST"; req.ContentType = "application/json"; req.ContentLength = postDataBytes.Length; req.Headers.Add("X-AUTH-TOKEN", authToken); //データをPOST送信するためのStreamを取得 Stream reqStream = req.GetRequestStream(); //送信するデータを書き込む reqStream.Write(postDataBytes, 0, postDataBytes.Length); reqStream.Close(); } //サーバーからの応答を受信するためのWebResponseを取得 System.Net.WebResponse res = req.GetResponse(); System.IO.Stream resStream = res.GetResponseStream(); System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoding); string responseBody = sr.ReadToEnd(); sr.Close(); return responseBody; } catch (Exception ex) { return "*** fail ***"; } }
さいごに
こうなってくると、ただの備忘録ですね。