プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > CreateFormData

 
 Ex:CreateFormDataコマンド
Macro Top | Variables | Constants | Commands | Ex-Commands  


 

書式


  Ex:CreateFormData:   (ContentName)=(ContentValue)   O:formData=str[(formData_index)]   O:cType=str[(cType_index)]  

(ContentName) : string, Content-Dispositionのname欄
(ContentValue) : string, (ContentName)に設定する値
(formData_index) : int, 作成したFormDataを設定する文字列配列のインデックス
(cType_index) : int, ContentTypeを設定する文字列配列のインデックス

ローカル文字列配列を使用する場合は、str[ ] の部分が strl[ ] になります。
ローカル整数配列を使用する場合は、int[ ] の部分が intl[ ] になります。

 

記述例


このEx:CreateFormDataコマンドは、 Http-PostのContent-Typeヘッダ値が multipart/form-data の場合に、ポストするデータを作成するのに使用します。

例1:

例2:


Http-Postで要求される内容が次のような場合、


次のようなイメージでEx:CreateFormDataコマンドを表記します。

 

この例では、 Content-Typeヘッダ値が strl[11]、postデータは strl[10] に設定されます。
strl[11]は、このままEx:Http-Postコマンドの cType に指定します (下記の「Sample」を参照)。

 

Sample


次の例は、 http://www.example.com/download/get_object.cgi のURLに、 ポストする文字列を Ex:CreateFormDataコマンド で作成してアクセスし、正常終了した場合に 「ファイル (ファイル名) に保存しました.」 と表示するものです。


Ex:CreateFormDataコマンドのO:cTypeの出力は、そのままEx:Http-Postコマンドの cTypeの入力に指定します。
Postデータに日本語などのUS-ASCII文字以外が含まれる場合、Ex:Http-Postコマンドの postEncodeでエンコードを指定する必要があります。



ポストするデータにバイナリデータが含まれる場合 (画像ファイルをアップロードする場合など)は、 このコマンドを使用することはできません。
その場合は直接バイナリデータを編集してください。
バイナリデータを編集してポストデータを作成する例(gosubコマンドで使用)を 次に示します。


例:CreatePostDataブロック

この CreatePostDataブロック は、 gosubコマンドで呼び出されて使用されることを想定した例です。
str[1] (nameパラメータ), str[2] (detailsパラメータ), str[3] (アップロードする画像ファイルのパス) の各変数を設定して gosubコマンドでこのCreatePostDataブロックを呼び出すと、 Content-Typeヘッダ値が str[4] に設定され、postデータが戻り値となって戻ります。

  【使用例】  gosub: bin["postData"]=CreatePostData;

文字列はEUC-JPのバイナリ文字列に変換され、 readBinfileコマンド で読み込んだバイナリ文字列(画像データ)と結合されています。

[BACK]
プロセルピナ