netfileinfo 命令からステータスコードを取得

ランチャーのデフォルトで、最新バージョンを取得しようとしたときに 404 Not Found 時のエラー HTML が表示されるのがダサい。だから、 netfileinfo 命令でヘッダーからステータスコードを取得してみた。

sdim infoBuf, 1024
netfileinfo infoBuf, sVersionTextFileName
if stat : return
// ステータスコードを取得
idx = instr( infoBuf, 0, " " ) + 1
len = instr( infoBuf, idx, " " )
StatusCode = int( strmid( infoBuf, idx, len ) )
if StatusCode / 100 \ 10 != 2 : return

コードはある程度簡略化。

同じようにHTTP ヘッダーから Content-Length の値を取得して、ダウンロード中にファイルサイズ( exist 命令で取得)との比を調べればダウンロードの進捗パーセンテージを出せる。

これはどっちかというと、 instr 関数や strmid 関数を使うよりか、 getstr 命令を使った方がいいかなぁ。まあ、このぐらいだと好みの問題かな・・・?

インフォメーション

公開日時
2007年7月3日 午後8時31分50秒
最終更新日時
2007年12月29日 午後1時59分40秒
カテゴリ
HSP