Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;向discord API发送用于消息发布的CURL Json请求 我为不一致API设置了一个C++库,但是我遇到了一些问题。_C++_Rest_Curl_Libcurl_Discord - Fatal编程技术网

C++;向discord API发送用于消息发布的CURL Json请求 我为不一致API设置了一个C++库,但是我遇到了一些问题。

C++;向discord API发送用于消息发布的CURL Json请求 我为不一致API设置了一个C++库,但是我遇到了一些问题。,c++,rest,curl,libcurl,discord,C++,Rest,Curl,Libcurl,Discord,我需要向discord发出一个(受保护的,所以是httpS)请求,我在python中成功地做到了这一点,没有任何问题 basic\u auth\u头={ “授权”:f“Bot{TOKEN}”, “内容类型”:“应用程序/json” } 通道id=562636135428521986 发送\u url=f“https://discordapp.com/api/v6/channels/{channel_id}/消息“ 数据={ “内容”:“你好,世界!”, “tts”:错误, “嵌入”:{ “标题”

我需要向discord发出一个(受保护的,所以是httpS)请求,我在python中成功地做到了这一点,没有任何问题

basic\u auth\u头={
“授权”:f“Bot{TOKEN}”,
“内容类型”:“应用程序/json”
}
通道id=562636135428521986
发送\u url=f“https://discordapp.com/api/v6/channels/{channel_id}/消息“
数据={
“内容”:“你好,世界!”,
“tts”:错误,
“嵌入”:{
“标题”:“你好,嵌入!”,
“说明”:“这是一条嵌入的消息。”
}
}
response=requests.post(发送url,json=data,headers=basic\u auth\u headers)
这很好,它会在聊天中发送消息

但是当我必须把它移植到C++时,我就不知道该从哪里开始。

auto h=get_basic_header();
h、 push_back(“内容类型:application/json”);
json j=json(
{
{“内容”,“你好,世界!”},
{“tts”,false},
{“嵌入”{
{“title”,“你好,Embed!”},
{“description”,“这是一条嵌入的消息。”}
} 
}
}
);
卷曲*卷曲;
卷曲编码;
struct curl_slist*headers=NULL;
用于(自动和每个:h){
headers=curl\u slist\u append(headers,each.c_str());
}
curl=curl_easy_init();
curl\u easy\u setopt(curl,CURLOPT\u URL,“https://google.com/");
curl_easy_setopt(curl,CURLOPT_HTTPPOST,1);
res=旋度(curl)\u容易执行(curl);
旋度\轻松\清洁(旋度);
字符串获取通道链接(长id){
返回“https://discordapp.com/api/v6/channels/“+std::to_字符串(id)+”/messages”;
}
std::list get_basic_header(){
返回{“授权:Bot”+令牌};
}
我会感谢你的帮助,提前谢谢你

编辑:
令牌是我的bot令牌,无法共享。

cURL使用回调函数读取/写入正在发送/接收的邮件的正文

因此,您(至少通常)使用
CURLOPT\u READFUNCTION
参数调用
curl\u easy\u setopt
,以设置读取函数。通常还需要调用
curl\u easy\u setopt
传递
CURLOPT\u READDATA
参数,以设置要发送的缓冲区。完成此操作后,cURL将调用您的函数,并将您用
CURLOPT\u READDATA
设置的地址传递给它

另外,cURL使用“读”和“写”来表示代码和cURL本身之间的数据移动。因此,当您发送数据包(大多数人认为是写入的)时,它使用读取功能;当您接收数据包(大多数人认为是读取的)时,它使用写入功能


还要注意的是,因为它是由cURL调用的,所以回调函数通常需要使用“C”链接,并且是自由函数或静态成员函数。

我不确定您在问什么。你的问题不具体。运行代码时出现了什么问题?它实际上没有发出正确的请求,而且我似乎也不知道它是什么。到目前为止,还没有正确设置数据,如何设置Json?键,值对,你知道吗@基本上,我只想在C++中复制python请求一个猜测:curl\u easy\u setopt(curl,CURLOPT\u URL,);将URL设置为google.com。可能这不正确。另外:代码是否发送了一个discord请求?我以前有过,我在堆栈溢出上尝试了一些setopts,我只是决定在发布线程之前重新开始请求。我只是不知道如何处理Json数据,以及如何进行发布