在C語言中獲取URL并返回JSON是一個非常實用的功能。下面我們來看一下如何實現。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> // 定義回調函數 static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { size_t real_size = size * nmemb; char *buffer = (char *)userdata; strcat(buffer, ptr); return real_size; } // 獲取URL并返回JSON char *get_json_from_url(char *url) { CURL *curl; CURLcode res; char *buffer; // 初始化CURL curl = curl_easy_init(); if(!curl) { fprintf(stderr, "Could not initialize CURL\n"); exit(EXIT_FAILURE); } // 分配內存 buffer = (char *)malloc(sizeof(char) * 4096); // 設置URL curl_easy_setopt(curl, CURLOPT_URL, url); // 設置回調函數 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, buffer); // 執行HTTP請求 res = curl_easy_perform(curl); if(res != CURLE_OK) { fprintf(stderr, "Could not execute HTTP request: %s\n", curl_easy_strerror(res)); exit(EXIT_FAILURE); } // 清理CURL curl_easy_cleanup(curl); return buffer; } // 主函數 int main() { char *url = "https://example.com/api"; char *json; json = get_json_from_url(url); printf("%s\n", json); free(json); }
在上面的代碼中,我們使用CURL庫來獲取一個URL。首先,我們定義了一個回調函數,將從該URL獲取到的數據寫入一個緩沖區中。然后,我們定義了一個函數,該函數會使用CURL來執行一個HTTP請求,并返回一個JSON。最后,在主函數中,我們使用該函數來獲取一個URL,并打印出返回的JSON。
總的來說,通過使用C語言中的CURL庫,我們可以非常容易地獲取URL并返回JSON。
上一篇vue alias 無效
下一篇vue ajax輪詢