美好的一天,我正在尝试从 C++ 代码调用 java servlet。到目前为止,我已经做到了:
execl( "/usr/bin/lynx", "lynx", "-dump", url.c_str(), (char *) 0);
其中“url”是保存地址和参数的 url 编码字符串。
但是我还没有找到让 execl 返回 servlet 响应以便我在代码中分析它的方法。是否有另一种更有效的方法来调用 servlet 并处理答案?
谢谢!
你可以用管道做到这一点:
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);