Relative Content

Daily Archives: July 7, 2016

C# exercises (d) REST & JSON

Visual Studio community 2015 アカウントについて (学内専用) WebBrowser (基本) Form(自動操作) HttpClient REST & JSON ←今週 RESTとは RESTとは、RESTはREpresentational State Transferの略。2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどである。RESTの世界では、ネットワーク上のコンテンツ(リソース)を一意なURLで表すのが基本。各リソース(URL)に対してGET,POST,PUT,DELETEでリクエストを送信しレスポンスをXMLやjsonなどで受け取る形式(レスポンスのフォーマット形式は指定されていない)。 REST APIをを作る前に先人はどのような設計をしていたのかを見てみましょう。今ではTwitterやfacebook,Github、Amazonなど大きいところではだいたいAPIを提供しているので、お手本は山ほどあります。URL設計やリクエスト・レスポンス、HTTPヘッダなどに着目して見比べてみましょう。 Twitter REST API レスポンスの情報量が多いので、どういった情報を返すべきか参考になります。 Github API 一番綺麗にまとまっているAPIだと思います。リクエスト・レスポンスがRESTらしく、とても綺麗。 JSONとは JSONとは、JavaScriptにおけるオブジェクトの表記法を応用したデータ形式。 JSONで表記されたデータは、JavaScript上ではコードとして実行するだけで読み込みが完了する。JSONでは、データ全体を配列またはJavaScriptにおけるオブジェクト(キーと値のペアを列挙した構造体)として記述する。 JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません。少々複雑でも、我々は「表」という記法をしっているため、ある程度の複雑さには対応できます。しかし、表で表すのが困難な程度の複雑な構造を持つデータを表現しなければならないことは多々あります。このように、表形式では表現が困難な構造のデータを、人間に対するある程度の可読性を残しつつ、コンピュータに対しても伝達できるような記法、その1つがJSONです。そしてJSON形式で記述したデータのことを、JSON-textといいます。 chenlabのメンバーをJSON-textで表現 { “name”   : “chenlab”, “member3” : [ “14TE485”, “14TE406”, “14TE410”, “14TE449” , “14TE461″”, “14TE465″”, “14TE470”], “member4” : [ “13TE466”, “13TE477”, “13TE486”, “13TE520” , “12TE412″”, […]

C# exercises (c) Web3 HttpClient

Visual Studio community 2015 アカウントについて (学内専用) WebBrowser (基本) Form(自動操作) HttpClient ←今週 REST & JSON いままで、WebBrowser コントロールを利用して、 Webサイトを表示と操作プログラムを作りました。 今回は直接 http 通信に HttpClient クラスを使用 するプログラムを作ります。 HTTPとは httpとは、代表的な通信プロトコルの一つで、インターネット上でWebサーバー(サイトの公開側)と、クライアント(ブラウザ:サイトを閲覧する側)が、相互に通信するために使用される仕組みです。 もっと言うと、Webサーバーとクライアント間で、HTML(Webページを作成するための言語)で記載された情報をやりとりするための仕組みです。 この「http」がないと、インターネット上のサイトを見ることができなくなるので、今や無くてはならない仕組みとなります。 HTTPコマンド 主なHTTPコマンドには次のようなものがあります。 GET 指定したページの取得を要求します。 HEAD メッセージヘッダを要求します。 POST フォームに入力したデータを送る PUT サーバーへデータをアップロードする DELETE サーバー上のデータを削除する   HTTPコマンド応答メッセージ 主な応答メッセージには、次のようなものがあります。 200 OK 正常に取得できた 301 恒久的に移転した 302 一時的に移転した 403 Forbidden アクセス拒否 404 Not Found ファイルが見つからない   HttpClient 通信プログラム デザイン […]