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

c json get請求參數傳遞參數

李中冰1年前9瀏覽0評論

C語言中使用json格式傳遞參數是常見的一種方式,今天我們來談一談如何在C語言的GET請求中傳遞參數。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
#include <jansson.h>
#define URL "http://example.com/get"
#define QUERY_KEY "key"
int main()
{
CURL *curl;
CURLcode res;
char *query;
char url[256];
// 生成json格式的參數
json_t *params = json_object();
json_object_set_new(params, "name", json_string("John"));
json_object_set_new(params, "age", json_integer(25));
query = strdup(json_dumps(params, JSON_COMPACT));
// 構造GET請求URL
sprintf(url, "%s?%s=%s", URL, QUERY_KEY, query);
// 初始化curl
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl)
{
// 設置curl選項
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
// 執行curl請求
res = curl_easy_perform(curl);
// 檢查curl執行是否成功
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
// 撤銷curl會話
curl_easy_cleanup(curl);
}
// 釋放內存
free(query);
json_decref(params);
curl_global_cleanup();
return 0;
}

代碼分為三部分:

  1. 生成json格式的參數。
  2. 構造GET請求的URL。
  3. 使用curl庫執行GET請求,并使用生成的URL發送請求。

首先,我們使用jansson庫生成一個json_t對象,然后使用json_object_set_new()函數向對象中添加兩個屬性:name和age。最后,我們使用json_dumps()函數將json_t對象轉換為字符串。

接下來,我們使用sprintf()函數構造GET請求的URL。URL包括兩部分:URL本身和查詢字符串。查詢字符串中,key的值是我們剛才生成的json格式的參數。

最后,我們使用curl庫執行GET請求。首先,我們使用curl_easy_setopt()函數設置curl選項,包括URL和是否在服務器重定向時自動跳轉。然后,我們使用curl_easy_perform()函數執行curl請求。

在curl執行完畢后,我們需要使用curl_easy_cleanup()函數撤銷curl會話并釋放內存。