网络 - C++使用libcurl下载文件,传入url失败?CURLE_URL_MALFORMAT
阿神
阿神 2017-04-17 14:29:26
0
0
768
...
//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
*******
阿神
阿神

闭关修行中......

répondre à tous(0)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal