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

c 獲取網頁中的json

方一強1年前7瀏覽0評論

在C語言中,我們可以使用HTTP請求來獲取互聯網上的數據,其中也包括獲取網頁中的JSON數據。以下是一個通過C語言獲取網頁JSON數據的例子。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <curl/curl.h>
struct Data {
char* data;
size_t size;
};
size_t writeCallback(char* ptr, size_t size, size_t nmemb, struct Data* data) {
size_t realsize = size * nmemb;
data->data = realloc(data->data, data->size + realsize + 1);
if (data->data == NULL) {
printf("Failed to allocate memory");
return 0;
}
memcpy(&(data->data[data->size]), ptr, realsize);
data->size += realsize;
data->data[data->size] = 0;
return realsize;
}
char* getJSON(char* url) {
CURL* curl;
CURLcode res;
struct Data data;
data.data = malloc(1);
data.size = 0;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
if (res != CURLE_OK) {
printf("Failed to get JSON data.\nError: %s\n", curl_easy_strerror(res));
return NULL;
}
}
return data.data;
}
int main(void) {
char* jsonData = getJSON("https://example.com/example.json");
if(jsonData) {
printf("%s", jsonData);
free(jsonData);
}
return 0;
}

這個例子中使用了libcurl庫來進行HTTP請求,并在writeCallback函數中接收回傳數據。

通過這個例子,我們可以輕松地獲取互聯網上的JSON數據,以后的開發中也可借助此方法快速獲取所需數據。