制作HTTPS GET与libcurl中(Making https get with libcurl

2019-07-29 01:08发布


我试图连接到谷歌的API。
这在我的终端正常工作,还有我做的:
curl https://www.googleapis.com/tasks/v1/users/@me/lists --header "Authorization: Bearer myAccessCode"
这工作得很好,但现在我想使这个内部交流计划。
为此,我有:

    CURL *curl;
    char *header = "Authorization:  Bearer myAccessCode";
    struct curl_slist *headers = NULL;
    headers = curl_slist_append(headers, header);

    curl = curl_easy_init();

    char *response = NULL;

    curl_easy_setopt(curl, CURLOPT_URL, "https://www.googleapis.com/tasks/v1/users/@me/lists");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
    curl_easy_setopt(curl, CURLOPT_HTTPGET, 1);

    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, httpsCallback);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

    curl_easy_perform(curl);
    curl_easy_cleanup(curl);

但在这里我刚开始所需要登录的消息。 我不知道我做错了,有没有人谁看到我的失败?

Answer 1:

就像我上面的评论中写道:
我只是意识到,我提出: curl_slist_append(headers, header);
代替: headers = curl_slist_append(headers, header);
所以,头总是NULL和我做了无头的GET请求。
(我编辑它上面我的问题,所以代码工作,如果一些)



文章来源: Making https get with libcurl
标签: c curl libcurl