linu下用libcurl库下载文件报错问题

最近在做linux下用libcurl从自己搭建的http服务器上下载文件,代码写好,编译ok,但是每次给出url时,总是报错url格式错误,哪位大神能帮忙看看呢

还是给出你的测试代码,然后才能帮忙测试.

#include "include/curl/curl.h"

#include

#include

CURL *curl;

CURLcode res;

size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)

{

if (strlen((char *)stream) + strlen((char *)ptr) > 999999) return 0;

strcat(stream, (char *)ptr);

return size*nmemb;

}

char *down_file(char *filename)

{

static char str[10000000];

strcpy(str, “”);

//return “”;

curl_easy_setopt(curl, CURLOPT_URL, filename); //设置下载地址

curl_easy_setopt(curl, CURLOPT_TIMEOUT, 3);//设置超时时间

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);//设置写数据的函数

curl_easy_setopt(curl, CURLOPT_WRITEDATA, str);//设置写数据的变量

res = curl_easy_perform(curl);//执行下载

str[9999999] = ‘\0′;

if(CURLE_OK != res) return NULL;//判断是否下载成功

return str;

}

int main()

{

char url[200];

curl = curl_easy_init();//对curl进行初始化



char *result;

while(fgets(url, 200, stdin))
{
    result = down_file(url);

    if (result) 
        puts(result);

    else 
        puts(“Get Error!”);

    printf(“\nPlease Input a url:”);

}

curl_easy_cleanup(curl);//释放curl资源

return 0;

}

将输入的url 写入文件,然后和写死的url对比看看什么地方不同。

    static char str[10000000];

    strcpy(str, “”);

数组过长,栈都装不下了。

 char url[200];

    curl = curl_easy_init();//对curl进行初始化

url 只有200么?看起来有些小