欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 獲取url 返回json

林國瑞2年前7瀏覽0評論

在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。