设定一个https://aaa.bbb.cn/ccc网址
执行system(curl -X Post https://aaa.bbb.cn/ccc)
这时候system返回值OK,怎么确认我post请求到了,curl返回值怎么输出
用这个增强的system函数可以返回curl输出字符串的函数,根据返回字符串可以分析执行结果。
不过更推荐直接用libcurl库进行操作,而不是调用外部命令。
/** * 增强的system函数,能够返回system调用的输出 *
* @param[in] cmdstring 调用外部程序或脚本的命令串
* @param[out] buf 返回外部命令的结果的缓冲区
* @param[in] len 缓冲区buf的长度
* * @return 0: 成功; -1: 失败 */
int mysystem(char* cmdstring, char *buf, int max_len)
{
FILE *fp = popen(cmdstring, "r");
if(fp==0)
{
printf("popen error\n");
return 0;
}
printf("popen ok\n");
char tmp[512];
int total = 0;
int len;
while(fgets(tmp, 512, fp) != NULL)
{
len = strlen(tmp);
if(total + len < max_len)
{
memcpy(buf+total, tmp, len);
}
else
{
memcpy(buf+total, tmp, max_len - total);
pclose(fp);
return 1;
}
total += len;
}
pclose(fp);
return 1;
}