gpt4 book ai didi

json - curl 到 libcurl http 以 json 格式发出请求

转载 作者:可可西里 更新时间:2023-11-01 17:28:07 25 4
gpt4 key购买 nike

目前我正在写一个与ArangoDB交互的程序

有什么方法可以使用 libcurl 以 JSON 格式发送 HTTP put 请求吗?

我当前在 curl 中的命令是

curl  -X PUT --data-binary @- --dump - --user "root:" http://localhost:8529/_db/myapp1/_api/simple/lookup-by-keys << EOF {"keys" : [ "FirstUser" ], "collection" : "five"} EOF

我想知道发送上述请求的等效 libcurl 代码。谢谢

最佳答案

//PUT Request
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>

int main(int argc, char const *argv[]){
CURL *curl;
CURLcode res;
long http_code;
static const char *jsonObj = //insert json here

curl = curl_easy_init();
curl_global_init(CURL_GLOBAL_ALL);

if(curl){

curl_easy_setopt(curl, CURLOPT_URL, "//insert your url here");
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC);
curl_easy_setopt(curl, CURLOPT_USERPWD, "root:");

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonObj);


//enable to spit out information for debugging
//curl_easy_setopt(curl, CURLOPT_VERBOSE,1L);

res = curl_easy_perform(curl);

if (res != CURLE_OK){
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res) );
}

printf("\nget http return code\n");
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
printf("http code: %lu\n", http_code );


curl_easy_cleanup(curl);
curl_global_cleanup();

}
return 0;
}

这是我提出的解决方案。请随时添加/改进

关于json - curl 到 libcurl http 以 json 格式发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42758926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com