abcxjs123456
2022-01-15 09:55
采纳率: 0%
浏览 10

Linux环境C语言怎么确认curl post请求成功

设定一个https://aaa.bbb.cn/ccc网址
执行system(curl -X Post https://aaa.bbb.cn/ccc)
这时候system返回值OK,怎么确认我post请求到了,curl返回值怎么输出

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qllaoda 2022-01-15 10:41

    用这个增强的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;   
    
    }
    
    评论
    解决 无用
    打赏 举报 编辑记录

相关推荐 更多相似问题