0

こんにちは。C++ コードから Java サーブレットを呼び出そうとしています。これまでのところ、私はこれに到達しました:

            execl( "/usr/bin/lynx", "lynx", "-dump", url.c_str(), (char *) 0);

ここで、「url」は、アドレスとパラメータを保持する URL エンコード文字列です。

ただし、コード内で分析するために、execl がサーブレット応答を返せるようにする方法が見つかりませんでした。サーブレットを呼び出して回答を処理する別のより効率的な方法はありますか?

ありがとうございました!

4

1 に答える 1

1

パイプでそれを行うことができます:

string cmd = "lynx -dump ";
cmd += url;
FILE* pipe = popen(cmd.c_str(), "r");
if (!pipe)
{
    cout << "Couldn't open pipe";
    return;
}
char buffer[128];
string result = "";
while(!feof(pipe)) 
{
    if(fgets(buffer, 128, pipe) != NULL)
        result += buffer;
}
pclose(pipe);
于 2013-03-07T20:49:58.123 に答える