サーバーアップロードコマンド
コマンドID | コマンド名 | 機能 |
---|---|---|
0021h | SendHTTPMessageByRegister(hostName, message) | 指定したサーバーにHTTPリクエストを送信SendHTTPMessage~:文字データのみのリクエストを発行SendHTTPFile~:ファイルを添付してリクエストを発行SendHTTPSSL~:SSLによる暗号化通信を使用~ByRegister:リクエストデータをメモリから読み込み~ByFile:リクエストデータをファイルから読み込み |
0022h | SendHTTPFileByRegister(hostName, appendFileName, message) | |
0023h | SendHTTPSSLMessageByRegister(hostName, message) | |
0024h | SendHTTPSSLFileByRegister(hostName, appendFileName, message) | |
0025h | SendHTTPMessageByFile(hostName, messageFileName, headerRemoval) | |
0026h | SendHTTPFileByFile(hostName, messageFileName, appendFileName, headerRemoval) | |
0027h | SendHTTPSSLMessageByFile(hostName, messageFileName, headerRemoval) | |
0028h | SendHTTPSSLFileByFile(hostName, messageFileName, appendFileName, headerRemoval) | |
0029h | SetCertificate(certificate) | |
002Ah | SetCertificateByFile(certificateFileName) |
SendHTTPMessageByRegister(hostName, message)
特定のサーバにHTTPリクエストメッセージを送るためのホストリクエストです。
HTTPリクエストラインとHTTPメッセージヘッダー、HTTPメッセージボディで構成されるHTTPリクエストメッセージを、ホストは準備します。(optional in [HTTP]).(★1)
すると、HTTPレスポンスラインとHTTPメッセージヘッダー、HTTPメッセージボディ(optional in [HTTP]) で構成されるHTTPレスポンスメッセージをFlashAirはサーバより受信します。2.3 Server Uploadを参照してください。(★2)
コマンドID
0021h
引数
Name | Type | Size | 説明 |
---|---|---|---|
ホスト名 | ASCII | 変数 | hostName はHTTPリクエストメッセージが送信されHTTPレスポンスメッセージを受信するホスト名を意味します。プロキシサーバが使用される場合を除いて、ポート番号は”80”が使われます。値はNull値で終了しません。(★3) |
message | Binary data | Variable | message はHTTPリクエストラインとHTTPメッセージヘッダー、HTTPメッセージボディで構成されるHTTPリクエストメッセージを意味します。(★4) |
レスポンス
受信したHTTPレスポンスメッセージは、コマンドレスポンスデータのレスポンスデータから取得可能です。2.2.2.3 iSDIO Command Response Data in [iSDIO]を参照してください。(★5)
SendHTTPFileByRegister(hostName, appendFileName, message)
HTTPリクエストメッセージをファイルを添付して特定のサーバに送るためのホストリクエストです。
(★1と同じ) さらにサーバへメッセージが送信される際、FlashAirはメッセージ内の事前に定義された文字を特定のファイルに置き換えます。
(★2と同じ)
コマンドID
0022h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
appendFileName | ASCII character | Variable | appendFileName は、NANDメモリモジュール内のアペンドファイルのルートディレクトリからサーバに送信されるファイル名とファイルパッチを意味します。例”/DCIM/100XXXXX/YYYY1234.JPG”値はNull値で終了しません。(★8) |
message | Binary data | Variable | (★4と同じ) |
レスポンス
(★5と同じ)
SendHTTPSSLMessageByRegister(hostName, message)
このコマンドの定義は、 FlashAirにSSL経由でHTTPメッセージをリクエストする以外は、”SendHTTPMessageByRegister(hostName, message)”と同じです。プロキシサーバが使用される場合を除いて、ポート番号443が使われます。
このコマンドを実行する前に、”SetCertificate”または”SetCertificateByFile”コマンドでルート認証を設定することが推奨されています。ルート認証を設定せずにコマンドを実行した場合、ルート認証によるサーバ証明書を認証しないまま、FlashAirはこのコマンドを実行します。(★6)
サーバ証明書がルート認証によって認証されない場合、レスポンスステータスが”85h: SSL certification error”となり、このコマンドの実行は失敗となります。(★7)
コマンドID
0023h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
message | Binary data | Variable | (★4と同じ) |
レスポンス
無し
SendHTTPSSLFileByRegister(hostName, appendFileName, message)
このコマンドの定義は、 FlashAirにSSL経由でHTTPメッセージをリクエストする以外は、”SendHTTPMessageByRegister(hostName, message)”と同じです。プロキシサーバが使用される場合を除いて、ポート番号443が使われます。(★13)
(★6と同じ)
(★7と同じ)
コマンドID
0024h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
appendFileName | ASCII character | Variable | (★8と同じ) |
message | Binary data | Variable | (★4と同じ) |
レスポンス
無し
SendHTTPMessageByFile(hostName, messageFileName, headerRemoval)
特定のサーバにHTTPリクエストメッセージを送るためのホストリクエストです。
コマンドが実行される前に、HTTPリクエストラインとHTTPメッセージヘッダー、HTTPメッセージボディで構成されるHTTPリクエストメッセージを、ホストはメッセージファイルとしてNANDメモリモジュールに保存します。(★9)
すると、HTTPレスポンスラインとHTTPメッセージヘッダー、HTTPメッセージボディ(optional in [HTTP])から構成されるHTTPレスポンスメッセージをFlashAirがサーバから受信し、”RESPONSE” ディレクトリの下に”iSDIO command sequence id”のファイル名で保存します。もしこのファイルが存在した場合、上書きして保存されます。HTTPリクエストラインとHTTPメッセージヘッダーを除くよう、ホストがリクエストした場合、HTTPメッセージボディのみがレスポンスファイルとして保存されます。2.3 Server Uploadを参照してください。 Capability Register内の”Max Size of Command Response Data”による制限は、このコマンドによって作られるレスポンスファイルのサイズに適用されません。(★10)
コマンドID
0025h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
messageFileName | ASCII character | Variable | messageFileName は、NANDメモリモジュール内のメッセージファイルのルートディレクトリから送られ?、HTTPリクエストラインとHTTPメッセージヘッダー、HTTPメッセージボディで構成されるファイル名とファイルパッチを意味します。例 "/REQUEST/MESSAGE1.TXT"。 値はNull値で終了しません。(★11) |
headerRemoval | integer | 1-byte | headerRemoval はHTTPヘッダーを除くことに関して意味します。
|
レスポンス
無し
SendHTTPFileByFile(hostName, messageFileName, appendFileName, headerRemoval)
ファイルを添付して、HTTPリクエストメッセージを特定のサーバに送るためのホストリクエストです。(★9と同じ) メッセージがサーバへ送信されると、FlashAirはメッセージ内の事前に定義した文字 (例: “” in [ISO 8859-1]) を特定のファイルに変換します。
(★10と同じ)
コマンドID
0026h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
messageFileName | ASCII character | Variable | (★11と同じ) |
appendFileName | ASCII character | Variable | (★8と同じ) |
headerRemoval | integer | 1-byte | (★12と同じ) |
レスポンス
無し
SendHTTPSSLMessageByFile(hostName, messageFileName, headerRemoval)
(★13とほぼ同じ ”SendHTTPMessageByFile (hostName, messageFileName, headerRemoval)) (★6と同じ)(★7と同じ) (i.e. Response Status becomes “85h: SSL certification error”).
コマンドID
0027h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
messageFileName | ASCII character | Variable | (★11と同じ) |
headerRemoval | integer | 1-byte | (★12と同じ) |
レスポンス
無し
SendHTTPSSLFileByFile(hostName, messageFileName, appendFileName, headerRemoval)
(★13とほぼ同じ ”SendHTTPFileByFile (hostName, messageFileName, appendFileName, headerRemoval)”)
(★6と同じ)
(★7と同じ) (i.e. Response Status becomes “85h: SSL certification error”).
コマンドID
0028h
引数
Name | Type | Size | 説明 |
---|---|---|---|
hostName | ASCII character | Variable | (★3と同じ) |
messageFileName | ASCII character | Variable | (★11と同じ) |
appendFileName | ASCII character | Variable | (★8と同じ) |
headerRemoval | integer | 1-byte | (★12と同じ) |
レスポンス
無し
SetCertificate(certificate)
HTTPS接続のためルート認証を行います。このコマンド実行後、FlashAirは付与されたHTTPS接続の証明書を使用します。ルート認証がすでに行われている場合は、現在の証明書は無効となり、FlashAirは新しく設定されたものを使用します。
コマンドID
0029h
引数
Name | Type | Size | 説明 |
---|---|---|---|
certificate | Binary data | Variable | certificate はDER (Distinguished Encoding Rules)によるX.509バイナリです。“Length of Argument”を”00 00 00 00h”に設定した場合、この値は無視できます。無視した場合は、FlashAirは現在の証明書を無効にし、デフォルトの設定に戻ります。(★14) |
レスポンス
無し
SetCertificateByFile(certificateFileName)
HTTPS接続のためNANDメモリモジュール内に保存されたファイルをルート認証に設定します。このコマンド実行後、このコマンド実行後、FlashAirは付与されたHTTPS接続の証明書を使用します。ルート認証がすでに行われている場合は、現在の証明書は無効となり、FlashAirは新しく設定されたものを使用します。
コマンドID
002Ah
引数
Name | Type | Size | 説明 |
---|---|---|---|
certificateFileName | ASCII character | Variable | 接続するためのAPのSSIDです。値はNull値で終了しません。 |
networkKey | ASCII character | Variable | certificateFileName は、NANDメモリモジュール内の認証ファイルのルートディレクトリからサーバに送信されるファイル名とファイルパッチを意味します。例 “/ABCDEF.CRT” 値はNull値で終了しません。(★8と似ている)証明ファイルはDER (Distinguished Encoding Rules)によるX.509バイナリです。(Distinguished Encoding Rules). (★14と同じ) |
レスポンス
無し