安装libcurl、OpenSSL库实现人脸识别

本文介绍了如何通过翔云OCR平台进行人脸识别,涉及API调用和字符串拼接。遇到OpenSSL缺失的问题后,详细步骤指导了如何下载、配置并安装OpenSSL库,以及重新编译CURL以确保人脸识别功能正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实现人脸识别的平台
这边选用翔云ocr平台进行人脸识别
在这里插入图片描述
涉及到一个人脸识别调用API和六个字符串拼接
二、编码

#include <stdio.h>
#include <curl/curl.h>
#include <string.h>
#include <stdlib.h>

typedef unsigned int bool;
#define true 1
#define false 0

size_t ReadDatas( void *ptr, size_t size, size_t nmemb, void *stream)
{
    char buf[1024] = {'\0'};
    strncpy(buf,ptr,1024);
    printf("%s\n",buf);
}

bool postUrl()
{
    CURL *curl;
    CURLcode res;
    char *postString;
    char *img1[12];
    char *img2[12];
    char *key = "Ame5iiSxY6yFwHjr4SPNuC";
    char *secret = "08d4e1c219834e04affd3198c199e206";
    int typeId = 21;
    char *format = "xml";
    postString = (char *)malloc(strlen(key)+strlen(secret)+2048);
    sprintf(postString,"&img1=%s&img2=%s&key=%s&secret=%s&typeId=%d&format=%s","","",key,secret,21,"xml");
    curl = curl_easy_init();
    if (curl)
    {
        curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/tmp/cookie.txt"); // 指定cookie文件
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postString);    // 指定post内容
        curl_easy_setopt(curl, CURLOPT_URL, " https://netocr.com/api/faceliu.do ");   // 指定url
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,ReadDatas);
        res = curl_easy_perform(curl);
        printf("%d\n",res);
        curl_easy_cleanup(curl);
    }
    return true;
}
int main(void)
{
    postUrl();
}

然后gcc demo2.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl -odemo2test
./demo2test
发现以下错误:
在这里插入图片描述
说明没有安装OpenSSL库
三、安装openssl库
(1)下载openssl-1.1.1a.tar.gz依赖库
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -vxf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a
./config//默认安装在/usr/local/下
make
make install
(2)重新编译libcurl库

./configure --prefix=$PWD/_install --with-ssl
make
make install

最后重新编译生成可执行文件

gcc demo1.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl
./a.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值