1

gwanサーバーで、リクエスト文字列を取得することは可能ですか...つまり. 引数。

指定http://myserver.com/main.cpp?arg1=one&arg2=two

文字列を取得しようとしていますarg1=one&arg2=two

ドキュメントによると、そうあるべきです

REQ_ENTITY,      // char  *ENTITY          // "arg=x&arg=y..."

しかし、これを行うと空の文字列が得られます(上記のURLでargsを使用)

char * req = (char*) get_env(argv, REQ_ENTITY);
xbuf_cat(get_reply(argv), req);;

あはは。まったく同じURL文字列で問題なく機能することを追加する必要がget_arg( "arg1" ...)あります(どこかにあることを示唆しています。おそらく生のクエリ文字列

例へのヒントまたはポインタが必要なすべてかもしれません。また、ある時点でマッピング/リダイレクトを使用できると便利です。 http://myserver.com/main/arg1=one&arg2=two

よろしく

4

2 に答える 2

0

REQ_ENTITY について簡単に説明します。

GET リクエストのみを実行しているため、上記のサンプルには REQ_ENTITY がありません。リクエストにエンティティ ボディ (POST など) がある場合、REQ_ENTITY を使用してエンティティ ボディを取得できますが、サンプルを使用して (argv をステップ実行する) または get_arg() を使用してアクセスできるため、通常は必要ありません。

get_arg() サンプル

于 2013-01-31T05:02:14.983 に答える
0

この素敵なコード スニペットは、私の目的に適しています。ドキュメントで見つかりました。それらを連結するだけです。サーバー上で C で作業するのが大好きです。

int i = 0;
while(i < argc)
{
    xbuf_xcat(get_reply(argv), "argv[%u] '%s'   <br>", i, argv[i]);
    i++;
}

そしてそれを次のように適応させました:

string concatArgs(void) {
    stringstream ss;
    int i = 0;
    while(i < argc) {
        ss << argv[i++];
    }
    return ss.str();
}
于 2013-01-30T23:10:21.620 に答える