URLとソケットの扱いに関するグローバルプロパティ
SenseTalkにおけるURLとソケットの扱い方に関する情報は、ソケット、プロセスおよびストリームの入出力やURLトランザクションとフォーマットをご覧ください。
グローバルプロパティの値を設定するときは、SenseTalkコマンドのSetやPutが使用できます。これらのプロパティを参照する場合は、単語theをプロパティ名の前に使用し、通常の変数と区別する必要があることに注意してください。
例:
set the searchrectangle to (1,2,2,3)
put 2 into the remoteworkinterval
以下の構文を使用して、グローバルプロパティ内で特定の名前付きプロパティの追加や変更を行うことができます。
set the namedColors.pink to color("RGB,1.0,0.5,0.5") -- pinkをthe namedColorsグローバルプロパティに追加し、そのRGBカラー値を定義します
set the listFormat's separator to " & " -- the listFormatグローバルプロパティのseparatorプロパティを設定します
setoptionまたはsetoptionsコマンドを使用して、プロパティの設定や更新を行うこともできます。setoptionコマンドを利用すると単一のプロパティを更新でき、setoptionsコマンドを利用すると複数のプロパティを更新できます。
例:
setoption searchrectangle, (1,2,2,3)
setoptions (searchrectangle: (1,2,2,3), scriptlogging: yes)
ローカルプロパティとグローバルプロパティの扱い方に関する追加情報は、SenseTalkにおけるローカルプロパティとグローバルプロパティをご覧ください。
the URLCacheEnabledグローバルプロパティ
値:True、False
デフォルト:True
挙動:このグローバルプロパティでは、URLリソースから取得したコンテンツのキャッシュを可能にするかどうかを管理します。True(デフォルト)に設定すると、URLコンテンツをシステムによってキャッシュし、毎回リモートから取ってくるのではなく、キャッシュから読み出せるようになります。URLの最新コピーを読み込ませるためには、URLにアクセスする前にthe URLCacheEnabledプロパティをFalseに設定します。
例:
set the URLCacheEnabled to false
例:
set the URLCacheEnabled to false
put url "http://www.apple.com" into appleHomePage -- 最新コピーを取得します
set the URLCacheEnabled to true -- キャッシュを復活させます
the URLTimeoutグローバルプロパティ
値:時間値(秒単位)
デフォルト:30秒
挙動:このグローバルプロパティでは、URLリソースのリクエストがタイムアウトするまでに許容される最大時間を指定します。この制限時間を超過した場合、利用できるインターネット接続がない場合、またはその他のエラーが発生した場合には、エラーを識別する例外オブジェクトがthe result()関数によって返され、スクリプトの次の行でこれにアクセスすることができます。
例:
set the URLTimeout to 45
例:
set the URLTimeout to 10
put url "http://google.com"
the URLErrorLevelグローバルプロパティ
値:整数
デフォルト: 400
挙動:このグローバルプロパティの値が示すのは、URLコンテンツの取得時にエラーとして扱われるURLステータスコードの最低値です。デフォルト値は400のため、返されたステータス値が400以上だと、例外が投げられるか、result()関数が例外に設定されます(the throwExceptionResultsグローバルプロパティの現在の設定による)。この種の例外が生成されないようにするには、the URLErrorLevelをゼロ(または十分に大きい数値)に設定します。
例:
set the URLErrorLevel to 450
例:
set the URLErrorLevel to 300
set the throwExceptionResults to false
put url "http://localhost:8080/api/test"
put the result into Problem
if Problem Contains "401" then
log "Unauthorized."
else if Problem Contains "307" then
log "Redirected"
end if
the readTimeoutグローバルプロパティ
値:時間値(秒単位)
デフォルト:30秒
挙動:このプロパティでは、ソケット読み取りリクエストがデータを利用できるようになるまで待つ最大時間を設定します。制限時間内にソケットが利用できなければ、例外が投げられます。リクエストされたデータがthe readTimeoutの指定時間内に読み取られなければ、読み取られた分が返され、result()関数がtime outを示す設定になります。
例:
set the readTimeout to 60
例:
set the readtimeout to 5
open process "skype"
read from process "skype" until end // プロセスの読み取りを5秒間行おうとします
put the result // 「time out」を表示します
close process "skype"
関連: