プロじゃないのでコピペでコーディング!

四半世紀に迫ろうとするベテラン・コピペ・プログラマーが送るコピペの元。 張って動けば良し!動かなければなんで?そんな私をサポートするブログです。 ま、動けば良いと本人が思ってるなら、これでも良いんじゃね?って思ったら生暖かく見守って頂き、こりゃ目に余る!って思ったら、優しく教えてやってください。

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 ***";
    }
}



さいごに

こうなってくると、ただの備忘録ですね。