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