csharp C#でDozensのDNSレコードを操作するref:http://qiita.com/nakaji/items/008090c0fc8173afce53

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp C#でDozensのDNSレコードを操作するref:http://qiita.com/nakaji/items/008090c0fc8173afce53相关的知识,希望对你有一定的参考价值。

using System;
using System.Linq;
using System.Net;
using Codeplex.Data;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            // APIの仕様は下記URL参照
            // https://sites.google.com/a/dozens.jp/docs/

            string authToken;
            // 認証
            using (var wc = new WebClient())
            {
                wc.Headers.Add("X-Auth-User", "{DOZENS ID}");
                wc.Headers.Add("X-Auth-Key", "{プロフィールに表示されるAPI KEY}");

                var json = wc.DownloadString("http://dozens.jp/api/authorize.json");

                authToken = DynamicJson.Parse(json).auth_token;
            }

            using (var wc = new WebClient())
            {
                wc.Headers.Add("X-Auth-Token", authToken);
                // ゾーンの取得
                var json = wc.DownloadString("http://dozens.jp/api/zone.json");
                Console.WriteLine("---全Zone---\n{0}", json);

                // レコードの取得
                json = wc.DownloadString("http://dozens.jp/api/record/nkd.jp.json");
                Console.WriteLine("---全Record---\n{0}", json);
            }

            string recordsJson;
            // レコードの登録
            using (var wc = new WebClient())
            {
                wc.Headers.Add("X-Auth-Token", authToken);
                wc.Headers.Add("Content-Type", "application/json");

                recordsJson = wc.UploadString("http://dozens.jp/api/record/create.json", "POST",
                    DynamicJson.Serialize(
                        new
                        {
                            domain = "{自分の持ってるドメイン}",
                            name = "www",
                            type = "A",
                            prio = "10",
                            content = "192.168.1.100",
                            ttl = "7200"
                        }));
                Console.WriteLine("---全Record(登録後)---\n{0}", recordsJson);
            }

            // 登録したレコードに対して以降の操作を行う
            var records = (dynamic[])DynamicJson.Parse(recordsJson).record;
            dynamic record = records.First(x => x.name == "www.{自分の持ってるドメイン}");

            // レコードの更新
            using (var wc = new WebClient())
            {
                wc.Headers.Add("X-Auth-Token", authToken);
                wc.Headers.Add("Content-Type", "application/json");

                var url = string.Format("http://dozens.jp/api/record/update/{0}.json", record.id);
                var json = wc.UploadString(url, "POST",
                DynamicJson.Serialize(
                    new
                    {
                        prio = "10",
                        content = "192.168.1.200",
                        ttl = "7200"
                    }));
                Console.WriteLine("---全Record(更新後)---\n{0}", json);
            }

            // レコードの削除
            using (var wc = new WebClient())
            {
                wc.Headers.Add("X-Auth-Token", authToken);
                var url = string.Format("http://dozens.jp/api/record/delete/{0}.json", record.id);
                var json = wc.UploadString(url, "DELETE", "");
                Console.WriteLine("---全Record(削除後)---\n{0}", json);
            }
        }
    }
}

以上是关于csharp C#でDozensのDNSレコードを操作するref:http://qiita.com/nakaji/items/008090c0fc8173afce53的主要内容,如果未能解决你的问题,请参考以下文章

csharp Edge.js(https://github.com/tjanczuk/edge)をつかってC#でNode.jsのHTTPサーバをホストするサンプルコード.nugetでEdge.jsをイ

html RubyのコードをOpalでJavaScriptに変换·実行する

c_cpp [失败例]コンピュートシェーダで大量の立方体を回す

markdown MySQL的の文字コードを确认·设定する

markdown 开いているファイルの文字コードを変换する

c_cpp 苹果のステータスバー用NowPlayingアプリ。シンプルです.TWの内容を编集する机能くらいはつけた方がいいかも.iTunes.hは脚本大桥のヘッダファイルで通常の可可用フレームワークの