|
FORM は POST で送っているわけですね? で、 > <A HREF=hoge.exe?data1=cc&data2=dd> hoge </a> だと GET になるわけです。hoge.exe は POST でデータを 受けているので、標準入力を読んでいるはずですよね。 もしGET にも対応したいなら環境変数 QUERY_STRING を 見るようにしないといけません。 C なら getenv("QUERY_STRING") でもいいし、 main(int argc,char *argv,char *envp) として envp を見てもよいでしょう。 |
|
ありがとうございます if(0 == strcmp("POST",getenv("REQUEST_METHOD"))) { /* POSTの場合 */ if(fgets(buf, len+1, stdin) == NULL) { return 1; } } else { /* GETの場合 */ strncpy(buf, getenv("QUERY_STRING"), sizeo(buf)-1); } こんな感じでうまくいきました POST と GET ぜんぜん意識してませんでした(よく調べます) ほんとにありがとうございます。 |
|
promptの説明文の中にHTMLタグが表示されてましたよ % set prompt="%Sabc%s%Bdef%b%Ughi%u:" abc<b>def</b><u>ghi</u>: |
|
お久しぶりです、以前くだらない質問ばかりしていたものです(^^; CGIでサーバーの負荷率を調べたいのですが何かよい方法は無いでしょうか? 一応 top の表示のヘッダー部分に表示される数値を取り出し加工しようと もくろんだのですが見事に失敗しました。 open(SYS, "top|"); やはり甘かった。コマンドラインで top > hoge.txt としても取れないので top から取り込むのは駄目みたいですね。 オプションにもそれらしいものが見つかりませんでした。 FreeBSDの日本語マニュアルを見る限りはどうも互換性なさそうです。 面倒なんで試していませんが、一定の処理にかかった時間を測定して 負荷を調べようかと思うのですが・・・ これもいまいち正確さに欠けそうだし。何よりめんどうだし(^^; あっ因みにそれほどの正確さは求めていません、そもそもそんなに正確に 数値を取れないと思ってますから。 何か方法を知っていましたら、よろしくお願いします。 OSはVineLinuxです。 |
|
> promptの説明文の中にHTMLタグが表示されてましたよ どうもです。直しておきます。 # 実は気づいていたんだけど、自作の変換フィルタをどう # 直せばよいのかわからくて悩んでいるところです。 > CGIでサーバーの負荷率 load average を求めたいなら uptime や rup localhost などが使えると思います。 > open(SYS, "top|"); 入力に tty を読んでるのなら、top < /dev/null で いけるかもしれません (ダメかも)。 なお load average は、違うマシンや OS と比較は意味が ありません。わかっておられるかもしれませんが、念のため。 |
|
uptimeの情報ありがとうございます。 なるほどこれなら何とかなりそうです。 手持ちのコマンドリファレンスには uptime のことが載っていません でしたが、man には掲載されていたので、これでうまくいきそうです。 /usr/bin/ や /usr/local/bin/ にあるコマンドを一つづつ調べるのも あまりの数に手を焼いていたところなので助かりました。 >入力に tty を読んでるのなら、top < /dev/null で やってみましたが駄目でした。 >なお load average は、違うマシンや OS と比較は意味が >ありません。わかっておられるかもしれませんが、念のため。 すいません、意味がよくわからないのですが、「この結果を元に ほかのサーバーと比較するには意味が無い」と言う意味でしょうか。 単純に、マシンの反応が遅い時の原因が、回線の影響かサーバーの負荷 かを調べる用途に使うつもりです。 ありがとうございました。 |