4

CGIアプリをC言語で作っていますが、サーバー側のコンソールでテストデーターを、標準入力から入力してテストすることは出来るのでしょうか?
OS Linux debian

saitoib
  • 391
  • 1
  • 7
  • 19

2 Answers2

5

環境がUNIX系であれば、以下のサイトにあるような方法でテストできるはずです。(ただし、perl -d xxx.cgi部分を cで作成されたCGI名に変更する必要があります。)

user29553
  • 420
  • 2
  • 8
1

できますかという質問の答えは Yes/No のどちらかで、この場合 Yes なわけですが

#include <stdio.h>
#define LINELEN 1024
int main() {
    char buf[LINELEN];
    puts("Content-type: text-plain; charset=iso-8850-1");
    while (fgets(buf, LINELEN, stdin)) {
        puts(buf);
    }
    return 0;
}

サーバー上 httpd が cgi プロセスを起動した際の「 cgi プロセス側標準入力」が何であるかは要考察で、多分キーボードではないわけです。そもそも論として、いつクライアントがアクセスしてくるかわからない状況で、応答内容をサーバー上オペレーターがキーボードから入力するというのは運用的にありえないです(たとえデバッグ目的であっても)

本当にやりたい案件は何か再考察することをお勧めします。

774RR
  • 21,855
  • 19
  • 44