0

美好的一天,我正在尝试从 C++ 代码调用 java servlet。到目前为止,我已经做到了:

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

其中“url”是保存地址和参数的 url 编码字符串。

但是我还没有找到让 execl 返回 servlet 响应以便我在代码中分析它的方法。是否有另一种更有效的方法来调用 servlet 并处理答案?

谢谢!

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 回答