Couchdb-curl-futon

提供:Dev Guides
移動先:案内検索

CouchDB-カールと布団

cURLユーティリティ

cURLユーティリティは、CouchDBと通信する方法です。

サポートされているプロトコル(HTTP、HTTPS、FTP、FTPS、TFTP、DICT、TELNET、LDAP、またはFILE)のいずれかを使用して、サーバーとの間でデータを転送するツールです。 このコマンドは、ユーザーの操作なしで機能するように設計されています。 cURLは、プロキシサポート、ユーザー認証、ftpアップロード、HTTPポスト、SSL(https :)接続、Cookie、ファイル転送再開などの便利なトリックを大量に提供します。

cURLユーティリティは、UNIX、Linux、Mac OS X、Windowsなどのオペレーティングシステムで使用できます。 これは、ユーザーがコマンドラインからHTTPプロトコルに直接アクセスできるコマンドラインユーティリティです。 この章では、cURLユーティリティの使用方法について説明します。

cURLユーティリティの使用

以下に示すように、cURLに続けてWebサイトのアドレスを入力するだけで、cURLユーティリティを使用して任意のWebサイトにアクセスできます-

curl www.finddevguides.com/

デフォルトでは、cURLユーティリティは要求されたページのソースコードを返します。 このコードは端末ウィンドウに表示されます。

cURLユーティリティオプション

cURLユーティリティにはさまざまなオプションが用意されており、cURLユーティリティのヘルプで確認できます。

次のコードは、cURLヘルプの一部を示しています。

$ curl --help
Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
      --anyauth Pick "any" authentication method (H)
   -a/--append Append to target file when uploading (F/SFTP)
      --basic Use HTTP Basic Authentication (H)
      --cacert <file> CA certificate to verify peer against (SSL)
-d/--data <data> HTTP POST data (H)
      --data-ascii <data> HTTP POST ASCII data (H)
      --data-binary <data> HTTP POST binary data (H)
      --data-urlencode <name=data/name@filename> HTTP POST data
urlencoded (H)
      --delegation STRING GSS-API delegation permission
      --digest Use HTTP Digest Authentication (H)
      --disable-eprt Inhibit using EPRT or LPRT (F)
      --disable-epsv Inhibit using EPSV (F)

   -F/--form <name=content> Specify HTTP multipart POST data (H)
      --form-string <name=string> Specify HTTP multipart POST data (H)
      --ftp-account <data> Account data to send when requested by server
(F)
      --ftp-alternative-to-user <cmd> String to replace "USER [name]" (F)
      --ftp-create-dirs Create the remote dirs if not present (F)
      --ftp-method [multi cwd/no cwd/single cwd] Control CWD usage (F)
      --ftp-pasv Use PASV/EPSV instead of PORT (F)

   -G/--get Send the -d data with a HTTP GET (H)

   -H/--header <line> Custom header to pass to server (H)
   -I/--head Show document info only
   -h/--help This help text
      --hostpubmd5 <md5> Hex encoded MD5 string of the host public key.
(SSH)
   -0/--http1.0 Use HTTP 1.0 (H)
      --ignore-content-length Ignore the HTTP Content-Length header
   -i/--include Include protocol headers in the output (H/F)

   -M/--manual Display the full manual

   -o/--output <file> Write output to <file> instead of stdout
      --pass <pass> Pass phrase for the private key (SSL/SSH)
      --post301 Do not switch to GET after following a 301
redirect (H)
      --post302 Do not switch to GET after following a 302
redirect (H)
   -O/--remote-name Write output to a file named as the remote file
      --remote-name-all Use the remote file name for all URLs
   -R/--remote-time Set the remote file's time on the local output
   -X/--request <command> Specify request command to use
      --retry <num> Retry request <num> times if transient problems
occur
      --retry-delay <seconds> When retrying, wait this many seconds
between each
      --retry-max-time <seconds> Retry only within this period
   -T/--upload-file <file> Transfer <file> to remote site
      --url <URL> Set URL to work with
   -B/--use-ascii Use ASCII/text transfer

CouchDBとの通信中に、cURLユーティリティの特定のオプションが広範囲に使用されました。 以下は、CouchDBで使用されるオプションを含むcURLユーティリティのいくつかの重要なオプションの簡単な説明です。

-Xフラグ

(HTTP)HTTPサーバーと通信するときに使用されるカスタム要求メソッドを指定します。 指定されたリクエストは、別の方法で使用されるメソッド(デフォルトはGET)の代わりに使用されます。 詳細と説明については、HTTP 1.1仕様をお読みください。

(FTP)FTPでファイルリストを実行するときに、LISTの代わりに使用するカスタムFTPコマンドを指定します。

-H

(HTTP)Webページを取得するときに追加のヘッダーが使用されます。 cURLが使用する内部ヘッダーの1つと同じ名前のカスタムヘッダーを追加すると、内部ヘッダーの代わりに外部で設定されたヘッダーが使用されることに注意してください。 これにより、cURLが通常行うよりもトリッキーな作業を行うことができます。 自分が何をしているかを完全に知らずに、内部で設定されたヘッダーを交換しないでください。 内部ヘッダーをコロンの右側にあるコンテンツのないヘッダーに置き換えると、そのヘッダーが表示されなくなります。

cURLは、追加/置換した各ヘッダーが適切な行末マーカーで送信されることを保証します。 ヘッダーの内容の一部としてそれを追加したり、無秩序なものに改行や改行を追加したりしないでください。

-A/ - user-agentおよび-e/ - refererオプションも参照してください。

このオプションを複数回使用して、複数のヘッダーを追加/置換/削除できます。

-dフラグ

cURLのこのフラグを使用すると、ユーザーがフォームに入力して送信したかのように、データをHTTP POSTリクエストとともにサーバーに送信できます。

以下に示すように、Webサイトがあり、ログインするか、cURLユーティリティの-dフラグを使用してWebサイトにデータを送信するとします。

curl -X PUT http://mywebsite.com/loginl -d userid=001 -d password=finddevguides
*"userid = 001&password = finddevguides"* のような投稿チャンクを送信します。 同様に、-dフラグを使用してドキュメント(JSON)を送信することもできます。

-oフラグ

このフラグを使用して、cURLは要求の出力をファイルに書き込みます。

次の例は、cURLユーティリティの -o フラグの使用を示しています。

$ curl -o examplel www.finddevguides.com/index
% Total % Received % Xferd Average Speed Time Time Time Current
      Dload Upload Total Spent Left Speed
100 81193 0 81193 0 0 48168 0 --:--:-- 0:00:01 --:--:--
58077

これにより、finddevguides.comのホームページのソースコードが取得され、example.comという名前のファイルが作成され、出力がexamplelという名前のファイルに保存されます。

以下は examplel のスナップショットです。

サンプルHTML

-O

このフラグは –o に似ています。唯一の違いは、このフラグとの違いです。リクエストされたURLと同じ名前の新しいファイルが作成され、リクエストされたURLのソースコードがコピーされます。

次の例は、cURLユーティリティの -O フラグの使用を示しています。

$ curl -O www.finddevguides.com/index
% Total % Received % Xferd Average Speed Time Time Time Current
      Dload Upload Total Spent Left
Speed
100 81285 0 81285 0 0 49794 0 --:--:-- 0:00:01 --:--:--
60077

インデックスという名前の新しいファイルを作成し、finddevguides.comのインデックスページのソースコードをその中に保存します。

こんにちは、CouchDB

インストールされたCouchDBインスタンスにGETリクエストを送信することにより、CouchDBのホームページにアクセスできます。 まず、CouchDBがLinux環境にインストールされ、正常に実行されていることを確認してから、次の構文を使用してget要求をCouchDBインスタンスに送信します。

curl http://127.0.0.1:5984/

これにより、CouchDBがバージョン番号、ベンダー名、ソフトウェアのバージョンなどの詳細を指定する、以下に示すJSONドキュメントが提供されます。

$ curl http://127.0.0.1:5984/
{
   "couchdb" : "Welcome",
   "uuid" : "8f0d59acd0e179f5e9f0075fa1f5e804",
   "version" : "1.6.1",
   "vendor" : {
      "name":"The Apache Software Foundation",
      "version":"1.6.1"
   }
}

すべてのデータベースのリスト

文字列 "_ all_dbs string" とともにget要求を送信することにより、作成されたすべてのデータベースのリストを取得できます。 CouchDBのすべてのデータベースのリストを取得する構文は次のとおりです。

curl -X GET http://127.0.0.1:5984/_all_dbs

以下に示すように、CouchDBのすべてのデータベースのリストが表示されます。

$ curl -X GET http://127.0.0.1:5984/_all_dbs
[ "_replicator" , "_users" ]

データベースを作成する

あなたは、次の構文を使用してPUTヘッダーを持つcURLを使用してCouchDBでデータベースを作成することができます-

$ curl -X PUT http://127.0.0.1:5984/database_name

例として、上記の構文を使用して、以下に示すように my_database という名前のデータベースを作成します。

$ curl -X PUT http://127.0.0.1:5984/my_database
{"ok":true}

検証

以下に示すように、すべてのデータベースをリストして、データベースが作成されているかどうかを確認します。 ここでは、新しく作成されたデータベースの名前、リストの "my_database" を確認できます

$ curl -X GET http://127.0.0.1:5984/_all_dbs

[ "_replicator " , "_users" , "my_database" ]

データベース情報の取得

データベース名とともにgetリクエストを使用して、データベースに関する情報を取得できます。 以下は、データベース情報を取得するための構文です。

例として、以下に示すように my_database という名前のデータベースの情報を取得します。 ここでは、応答としてデータベースに関する情報を取得できます。

$ curl -X GET http://127.0.0.1:5984/my_database

{
   "db_name" : "my_database",
   "doc_count" : 0,
   "doc_del_count" : 0,
   "update_seq" : 0,
   "purge_seq" : 0,
   "compact_running" : false,
   "disk_size" : 79,
   "data_size" : 0,
   "instance_start_time" : "1423628520835029",
   "disk_format_version" : 6,
   "committed_update_seq" : 0
 }

布団

Futonは、CouchDBの組み込みのWebベースの管理インターフェイスです。 CouchDBとやり取りできるシンプルなグラフィカルインターフェイスを提供します。 これは単純なインターフェースであり、すべてのCouchDB機能へのフルアクセスを提供します。 以下は、それらの機能のリストです-

データベース-

  • データベースを作成します。
  • データベースを破壊します。

ドキュメント-

  • ドキュメントを作成します。
  • ドキュメントを更新します。
  • ドキュメントを編集します。
  • ドキュメントを削除します。

布団を開始

CouchDBが実行されていることを確認してから、ブラウザで次のURLを開きます-

http://127.0.0.1:5984/_utils/

このURLを開くと、以下に示すようにFutonホームページが表示されます-

布団ホームページ

  • このページの左側で、CouchDBの現在のすべてのデータベースのリストを確認できます。 この図では、システム定義のデータベース _replicator および _user とともに、 my_database という名前のデータベースがあります。
  • 右側には、次を見ることができます-
  • ツール-このセクションには、CouchDBを構成する*構成*、レプリケーションを実行する*レプリケーター*、およびCouchDBのステータスとCouchDBで行われた最近の変更を確認する*ステータス*があります。
  • ドキュメント-このセクションには、CouchDBの最新バージョンの完全なドキュメントが含まれています。
  • 診断-この下で、CouchDBのインストールを確認できます。
  • 最近のデータベース-この下では、最近追加されたデータベースの名前を見つけることができます。