如果您正在使用C語言編寫應用程序,并且需要在SSL上使用POST方法發送JSON數據,則可以使用以下代碼:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; char *url = "https://example.com/api/"; char *data = "{\"key\":\"value\"}"; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); curl_slist_free_all(headers); } curl_global_cleanup(); return 0; }
在這段代碼中,我們首先使用curl_global_init()函數初始化CURL庫。然后,我們設置URL和JSON數據并指定Content-Type頭。接下來,我們打開curl,設置上述選項并執行curl_easy_perform()。最后,我們清理curl并使用curl_global_cleanup()關閉CURL庫。
需要注意的一點是,我們在這個例子中關閉了SSL驗證。這是因為有時API服務器證書上有問題,這可能導致CURL拒絕連接。如果您的服務器證書沒有問題,那么可以將這一行移除。