DBのデーター取得
| データーの全取得 | データーの差分取得(更新有り) | 
![]()  | 
![]()  | 
| データーの差分取得(更新無し) | データーの差分取得(時間間隔エラー) | 
![]()  | 
![]()  | 
| データーの全取得(時間間隔エラー) | PHPによるデータ取得のサンプル画像です。 ・サーバー上での動作サンプル ※なお、諸般の事情によりこのサンプルスクリプトは公開致しません。 http://details.kemuri-net.com/db_update/sample.php ・Window用サンプルTOOLです。 以下のライセンスに書き換えて使用してください。 sample.zip(Version:0.50a [2009/08/09 13:25 Update!!]) ▼ライセンス ライセンスID ライセンスPASS  | 
![]()  | 
| リクエストヘッダー (鯖 <- ユーザー)  | 
|
| ヘッダー名 | 備考 | 
| X-MODE | ・データーの取得モード FULL:全取得 DIFF:差分取得  | 
| X-TYPE | ・取得データータイプ csv:CSV形式 dat:dat形式  | 
| X-COMP (2008/01/29 追加)  | 
・取得データー圧縮方式 deflate:deflate形式 gzip:gzip形式 ※未指定 or 指定がおかしいときは「deflate」になります。  | 
| X-Protocol: | V1:取得方式のバージョン1 V2:SHA1ハッシュを含む(登録されている物のみ) V3:SHA1とSHA512ハッシュを含む(登録されている物のみ) ※プロトコルバージョンを変更した場合データーを再取得してください。  | 
| X-LICENCE_ID | ・ライセンスID 利用登録時に取得したID(BASE64でエンコードする事)  | 
| X-LICENCE_PASS | ・ライセンスパス 利用登録時に取得したパス(BASE64でエンコードする事)  | 
| X-IDB-LUD-CHKSUM | ・差分更新用TIMESTAMPのチェックサム ここに格納する値は前回データー取得時に サーバーから送られた値をセットしてください。(BASE64でエンコードする事)  | 
| X-IDB-LASTUPDATE | ・差分更新用のTIMESTAMP ここに格納する値は前回データー取得時に サーバーから送られた値をセットしてください。(BASE64でエンコードする事)  | 
| Sample | GET /db_update/update.php HTTP/1.0 Accept: */* Accept-Ranges: bytes User-Agent: IDB_DBUPDATE_V1 Host: details.kemuri-net.com #ここまでHTTPな基本ヘッダー #全取得の場合 X-LICENCE_ID: (ここにBASE64エンコードしたID) X-LICENCE_PASS: (ここにBASE64エンコードしたパス) X-MODE: FULL X-TYPE: dat X-COMP: gzip X-Protocol: V1 Connection: close #差分取得の場合 X-LICENCE_ID: (ここにBASE64エンコードしたID) X-LICENCE_PASS: (ここにBASE64エンコードしたパス) X-MODE: DIFF X-TYPE: dat X-Protocol: V1 X-IDB-LUD-CHKSUM: (ここにBASE64エンコードしたTIMESTAMPのチェックサム) X-IDB-LASTUPDATE: (ここにBASE64エンコードしたTIMESTAMP) Connection: close  | 
| レスポンスヘッダー (鯖 -> ユーザー)  | 
|
| ヘッダー名 | 備考 | 
| Content-Type: | ・MIME-Type application/x-compress ※解釈する必要はないです  | 
| Content-Length | ・送信したデーターサイズ(byte) 取得したデーターサイズがこの値と同じでない場合は破棄  | 
| Content-MD5 | ・送信したデーターのMD5(BASE64でエンコードされています) 取得したデーターのMD5がこの値と同じでない場合は破棄  | 
| X-Protocol | 取得方式のバージョン(IDBUDP_V1しか存在せず) | 
| X-IDB-LUD-CHKSUM | ・差分更新用TIMESTAMPのチェックサム (BASE64でエンコードされています)  | 
| X-IDB-LASTUPDATE | ・差分更新用のTIMESTAMP (BASE64でエンコードされています)  | 
| X-DCF | ・圧縮の有無 none:無圧縮 deflate:deflate形式で圧縮されています。 gzip:gzip形式で圧縮されています。 ※2008/01/29 gzip追加  | 
| X-DATASIZE | ・送信したデーターの圧縮前サイズ(byte) 圧縮データー伸張時のサイズです。 伸張データーサイズがこの値と同じでない場合は破棄  | 
| X-CDDMD5 | ・送信したデーターの圧縮前MD5(BASE64でエンコードされています) 圧縮データー伸張時のMD5。 伸張データーのMD5がこの値と同じでない場合は破棄  | 
| X-IHDB-UPDATE | ・差分取得時の更新有無 UPDATE:更新有り NO_UPDATE:更新無し  | 
| X-ERRORCODE | ・このヘッダーがある場合は何らかのエラーが発生しています。 0:接続方法が仕様外 1:ライセンス認証中にエラーが発生しました。 2:全データー取得の時間間隔制限によるエラー 3:差分データー取得の時間間隔制限によるエラー 4:更新用データー更新中 5:ライセンス失効エラー 6:DB関連のエラー or メンテナンス中 7:プロトコルバージョンの不整合 8:未対応の処理方法 9:更新データーの破損(チェックサムとTIMESTAMPの不整合 or 古すぎるTIMESTAMP) ※9に関しては取得データー類を削除して全取得し直してください。  | 
| Sample | #全取得の場合 Content-Type: application/x-compress Content-Length: (圧縮データーのサイズ) Content-MD5: (圧縮データーのMD5) X-Protocol: IDBUDP_V1 X-IDB-LUD-CHKSUM: (ここにBASE64エンコードしたTIMESTAMPのチェックサム) X-IDB-LASTUPDATE: (ここにBASE64エンコードしたTIMESTAMP) X-DCF: deflate (送信されたデーターはdeflate圧縮されています。) X-CDDMD5: (圧縮データーを伸張したときのMD5) X-DATASIZE: (圧縮データーを伸張したときのサイズ) #差分取得の場合(データー圧縮無) Content-Type: text/plan Content-Length: (圧縮データーのサイズ) Content-MD5: (圧縮データーのMD5) X-IHDB-UPDATE: UPDATE X-Protocol: IDBUDP_V1 X-IDB-LUD-CHKSUM: (ここにBASE64エンコードしたTIMESTAMPのチェックサム) X-IDB-LASTUPDATE: (ここにBASE64エンコードしたTIMESTAMP) X-DCF: none (送信されたデーターは無圧縮です。) #差分取得の場合(データー圧縮有) Content-Type: application/x-compress Content-Length: (圧縮データーのサイズ) Content-MD5: (圧縮データーのMD5) X-IHDB-UPDATE: UPDATE X-DATASIZE: (圧縮データーを伸張したときのサイズ) X-Protocol: IDBUDP_V1 X-IDB-LUD-CHKSUM: (ここにBASE64エンコードしたTIMESTAMPのチェックサム) X-IDB-LASTUPDATE: (ここにBASE64エンコードしたTIMESTAMP) X-DCF: deflate (送信されたデーターはdeflate圧縮されています。) X-CDDMD5: (圧縮データーを伸張したときのMD5)  | 
| データフォーマット | |
| 全取得時 | |
| dat形式 | V1→ID<>DATE<>MD5<>SIZE<>詳細<>\r\n V2→ID<>DATE<>MD5<>SHA1<>SIZE<>詳細<>\r\n V3→ID<>DATE<>MD5<>SHA1<>SHA512<>SIZE<>詳細<>\r\n  | 
| ID | ID No | 
| Date | 登録日時 | 
| MD5 | 画像ファイルのMD5 ハッシュ | 
| SHA1 | 画像ファイルのSHA1 ハッシュ | 
| SHA512 | 画像ファイルのSHA512 ハッシュ | 
| SIZE | 画像ファイルのサイズ | 
| 詳細 | 詳細コメント(改行は全て<br>に置換) | 
| 
 | 
|
| csv形式 | V1→"ID","DATE","MD5","SIZE","詳細","スレ名","レス番"\r\n; V2→"ID","DATE","MD5","SHA1","SIZE","詳細","スレ名","レス番"\r\n; V3→"ID","DATE","MD5","SHA1","SHA512","SIZE","詳細","スレ名","レス番"\r\n;  | 
| ID/DATE/MD5/SHA1/SHA512/SIZE | dat形式と同じ | 
| 詳細 | 改行そのまま。 CSVを読み込んで理解できる環境でないと使いづらいかも。 PHPで言えばfgetcsvとか?  | 
| スレ番/レス番 | そのまんまです。 | 
| 差分取得時 | |
| dat形式(修正/追加分) | UP<>ID<>DATE<>MD5<>SIZE<>詳細<>\r\n UP<>が頭に付加されます。 IDが被る場合はデーター修正分、被らない場合は新規データー。  | 
| dat形式(削除分) | DEL<>ID<><><><><>\r\n DEL<>が頭に付加されます。 該当するIDが削除対象です。  | 
| 
 | 
|
| csv形式(修正/追加分) | "UP","ID","DATE","MD5","SIZE","詳細","スレ名","レス番"\r\n; "UP",が頭に付加されます。 IDが被る場合はデーター修正分、被らない場合は新規データー。  | 
| csv形式(削除分) | "DEL","ID","","","","","",""\r\n; "DEL",が頭に付加されます。 該当するIDが削除対象です。  |