ADP
Programming Language ADP

English

Sourceforge.net

SourceForge.JP

Loading

Netライブラリ

ネットワーク関係のライブラリになります。以下の述語があります。

Netライブラリリファレンス

_cookie (cookieのセット)


形式
 _cookie( $name, $value, $expires, $domain, $path, $secure)
引数
  • $name : 名前
  • $value : 値
  • $expires : 有効期限(省略可)
  • $domain : ドメイン(省略可)
  • $path : パス(省略可)
  • $secure : secureフラグ(省略可)
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
AWPモード時に、cookie使用時に使用します。レスポンスヘッダにSet-cookie:ヘッダとして設定されます。

_session (セッション変数の値設定)


形式
 _session( $item, $key)
引数
  • $item: 変数にセットする値
  • $key: 変数の名前(キー)
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。

説明
$keyで指定された名前のセッション変数に値をセットします。
セッション変数は、セッションIDをキーにして保存される変数です。
テンポラリディレクトリにセッションIDをキーとしたファイルが作成され、そのファイルにセッション変数の実体が格納されます。
AWPモード時には、HTTPヘッダにセッションIDがSet-Cookieにて返されます。
コマンドモード時には、adpコマンドの引数に-s オプションを付けることによりセッションIDが確認できます。そのIDを環境変数ADP_SESSION_ID_STRINGで指定するとセッションを引き継ぐことができます。

コード例(lib/session.p)
,$a = 10 ,_session($a,'hoge');
,$a = 30 ,session('hoge').prtn;

実行例
D:\sample\lib>adp session.p
10
ADP_SESSION_ID_STRING=66A1F1F96DA12E9E5DC9819B472EDB4B71ABBB44

_session_cookie (セッションIDクッキーのパラメータ設定)


形式
 __session_cookie( $name, $value, $expires, $domain, $path, $secure)
引数
  • $expires : 有効期限
  • $domain : ドメイン
  • $path : パス
  • $secure : secureフラグ
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
AWPモード時に返されるクッキーの有効期限・ドメイン・パス・secureフラグを変更します。デフォルトではこれらは全て省略(空)になっています。
値はなからず指定しなければなりませんが、省略する場合は''(空文字列)を指定します。
※Cookieの名前は、'ADP_SESSION_ID_STRING'で、値はセッションIDとなっています。

add_response_header (HTTPレスポンスヘッダの追加)

形式
 add_response_header($header)
引数
  • $header:追加するヘッダ
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
AWPモード時に使用します。$headerで指定した値をHTTPのレスポンスヘッダに追加します。

cookie (クッキー値の取得)


形式
 cookie( $name, $value)
引数
  • $name: クッキー名
  • $value: クッキー値(結果)
完了時の動作
  • $nameのクッキーが存在する時:次の述語を実行に移ります。
  • $nameのクッキーが存在しない時:バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
AWPモード時に使用します。$nameで指定されたクッキーの値を取得します。

※Ver0.69までは、$nameで指定されたクッキー値が存在しないときは$valueにNILを返しましたが、Ver0.70では、上記のとおりバックトラックします。値がない場合にバックトラックさせない場合は、?ポストフィックスを使用します。

erase_sessaion (セッション変数の削除)


形式
 erase_sessaion($key)
引数
  • $key: 変数の名前(キー)
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。

説明
$keyで指定された名前のセッション変数を削除します。

html

query (クエリー変数の取得)


形式
  1. query@(@result)
  2. query($key, $result)
  3. query@($hashname, @result)
  4. query($key, $defvalue, $result)
  5. query@($hashname, $defvalue, @result)
引数
  • $key: 変数の名前(キー)
  • $result: 変数の値(結果)
完了時の動作
  • $key / $hashnameで指定された変数がある場合:次の述語を実行に移ります。
  • $key / $hashnameで指定された変数が無い場合:バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。

説明

make_session_id

response_header (レスポンスヘッダの設定)

形式
 response_header($header)
引数
  • $header:設定するヘッダ
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
AWPモード時に使用します。$headerで指定した値をHTTPのレスポンスヘッダに設定します。
response_header述語を呼び出すと、以前に呼び出したresponse_header、add_response_headerの内容は上書きされます。

AWPモード時には自動で以下のレスポンスヘッダが付与されます。

Content-Type: text/html

Content-Typeを変更される場合は本述語を呼び出し、Context-Typeを再設定します。

レスポンスヘッダに追加を行う場合は、add_response_headerを呼び出します。

sendmail

session (セッション変数の値の取得)


形式
 session( $key, $item)
引数
  • $key: 変数の名前(キー)
  • $item: 変数の値(結果)
完了時の動作
  • $keyで指定された変数がある場合:次の述語を実行に移ります。
  • $keyで指定された変数が無い場合:バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。

説明
$keyで指定された名前のセッション変数の値を取得します。。
セッション変数は、セッションIDをキーにして保存される変数です。
テンポラリディレクトリにセッションIDをキーとしたファイルが作成され、そのファイルにセッション変数の実体が格納されます。
AWPモード時には、HTTPヘッダにセッションIDがSet-Cookieにて返されます。
コマンドモード時には、adpコマンドの引数に-s オプションを付けることによりセッションIDが確認できます。そのIDを環境変数ADP_SESSION_ID_STRINGで指定するとセッションを引き継ぐことができます。

コード例(lib/session.p)
,$a = 10 ,_session($a,'hoge');
,$a = 30 ,session('hoge').prtn;

実行例
D:\sample\lib>adp -s session.p
10
ADP_SESSION_ID_STRING=66A1F1F96DA12E9E5DC9819B472EDB4B71ABBB44

urldecode (URLデコード)

形式
 urldecode( $src1,..., $dst)
引数
  • $src1: 文字列(複数可)
  • $dst: 結果
完了時の動作
  • 正常時:次の述語を実行に移ります。
  • 異常時:バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
$src1で指定された文字列をURLデコードします。複数の文字列を指定した場合、単純に結果を結合します。
引数に文字列以外を指定するとバックトラックします。

※+(プラス)文字は 空白 に変換されます。

コード例(lib/urldecode.p)
,urldecode('%93%FA%96%7B%8C%EA%95%B6%8E%9A%97%F1%81iShift-JIS%81j').prtn;

実行例(Windows)
D:\sample\lib>adp urldecode.p
日本語文字列(Shift-JIS)

urlencode (URLエンコード)

形式
 urldecode( $src1,..., $dst)
引数
  • $src1: 文字列(複数可)
  • $dst: 結果
完了時の動作
  • 正常時:次の述語を実行に移ります。
  • 異常時:バックトラックします。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明
$src1で指定された文字列をURLエンコードします。複数の文字列を指定した場合、単純に結果を結合します。
引数に文字列以外を指定するとバックトラックします。

URLエンコードは、以下で指定された以外の文字を%(文字コード)に変換します。
・アルファベット
・- (マイナス)
・_ (アンダースコア)
・. (ピリオド)

コード例(lib/urlencode.p シフトJISで保存)
,urlencode('日本語文字列(Shift-JIS)').prtn;

実行例(Windows)
D:\sample\lib>adp urlencode.p
%93%FA%96%7B%8C%EA%95%B6%8E%9A%97%F1%81iShift-JIS%81j

wol (WOLパケットの送出)

形式
 wol( $mac_addr, $ip_addr, $port)
引数
  • $mac_addr: MACアドレス
  • $ip_addr: IPアドレス(省略可)
  • $port: ポート番号(省略可)
完了時の動作
  • 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
  • 常にバックトラックします。前の述語にバックトラックします。
説明

WOLパケットを送出します。WOLパケットを受け取ったマシンは起動します(BIOSの設定が必要)。

$mac_addrは起動するマシンのMACアドレスを指定します。
MACアドレスの確認は、確認したいマシン上で、
Windowsでは、" ipconfig /all " コマンド実行結果の物理アドレス、
Linuxでは、 ”ifconfig " コマンド実行結果のHWaddr
で確認できます。

その他、" arp -a "コマンドを実行すると現在通信中のマシンのMACアドレスが確認できます。
事前にpingコマンドで通信し、その後 " arp -a "コマンドを実行します。

$ip_addrは通常、指定の必要がないですが、マルチホームサーバー等、ネットワークカードを複数挿してるマシンの場合、通信できない場合があります。その場合、$ip_addrにネットワークに対するブロードキャストアドレスを指定します。
例えば、ネットワークアドレス(IPアドレスのサブネットマスクで指定される部分)が
192.168.0.
の場合、
192.168.0.255
を指定します。

$portは通常ほとんど指定する必要がありません。


Powered by ADP.