首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >curl_easy_perform() API崩溃

curl_easy_perform() API崩溃
EN

Stack Overflow用户
提问于 2022-07-11 13:35:44
回答 1查看 99关注 0票数 -1

我正在尝试得到关于libcurl的想法,我正在尝试从url下载简单的照片。但是我的程序在curl_easy_perform() API中运行时会崩溃。有什么想法吗?

代码语言:javascript
代码运行次数:0
运行
复制
#include <stdio.h>
#include <curl/curl.h>
#include <QDebug>
#include <string>
int main(void)
{
    CURL *curl;
    FILE *fp;
    CURLcode res;
    curl_global_init(CURL_GLOBAL_ALL);
    std::string url = "https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Nusfjord_road%2C_2010_09.jpg/1280px-Nusfjord_road%2C_2010_09.jpg";

    //std::string url = "https://ra-jenkins-nyk01.siemens.net/job/TestCase_Logs/ws/OBU_Int_Build/TestCases/TC_30520_OBU_detects_dir_to_increase_whn_conf_increase_dir/TC_30520_OBU_detects_dir_to_increase_whn_conf_increase_dir.ctr";
    char outfilename[FILENAME_MAX] = "D:/ankit.jpg";
    curl = curl_easy_init();
    if (curl)
    {
        fp = fopen(outfilename,"wb");
        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
        //curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
        //curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        res = curl_easy_perform(curl);

        if(res == CURLE_OK)
            printf("Download Successful.");
        else
            printf("Not sucessful");

        curl_easy_cleanup(curl);
        fclose(fp);
    }
    return 0;
}

编译器:- mingw libcurl版本:7.84.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-11 14:03:49

我想知道,根据libcurl官方文档,您是将win32库用作win32 dll还是静态库?

如果您使用libcurl作为win32 DLL,则如果设置此选项,则必须使用CURLOPT_WRITEFUNCTION,否则将发生崩溃。

您可能想在这里看到:点击

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72939460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档