C++使用libcurl下载文件,传入url失败?CURLE_URL_MALFORMAT

发布于 2022-09-03 12:53:11 字数 995 浏览 15 评论 0

...
//get url by parsing xml using rapidxml 
char* url  =  root->first_node("MFC_uri")->value(); //http://xx.com/xx.bin 
printf(url ); //http://xx.com/xx.bin
char outfilename[FILENAME_MAX] = "mfc.bin"

curl = curl_easy_init();
if (curl) 
{
    fp = fopen(outfilename,"wb");
    //curl_easy_setopt(curl, CURLOPT_URL, "http://xx.com/xx.bin"); //OK
    curl_easy_setopt(curl, CURLOPT_URL,url); //NG 
    
    printf(url); //http://xx.com/xx.bin
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
    
    res = curl_easy_perform(curl);  //CURLE_URL_MALFORMAT == 3
    printf("res code %d",res);
    /* always cleanup */
    curl_easy_cleanup(curl);
    fclose(fp);
    printf("done \n");
}
....

直接传入url没有问题,能够正常下载,
但是通过rapidxml,解析xml文件获取url,然后传入url,则不能下载,执行结果CURLE_URL_MALFORMAT,
c++菜鸟,强行上战场,求指教.

*******
自己的锅,解析别人给的xml的时候没有忽略换行符,搞了这么久,居然是这个原因....已经解决了,谢谢SF
*******

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文