Discord Webhooks mit C++C++

Programme in C++. Entwicklerforum
Guest
 Discord Webhooks mit C++

Post by Guest »

Also habe ich mich der Herausforderung gestellt, Webhooks in C++ zu erstellen, und wollte einfach etwas Hilfe bei den Post-Anfragen bekommen. Hier ist der Code, den ich im Moment habe. Ich wollte Einbettungen über Post-Anfragen in C++ senden.
Hier ist mein Code zusammen mit Fehlern und allem, der Webhook ist immer noch aktiv, falls Sie es selbst testen möchten. Ich versuche, alles aufrechtzuerhalten, indem ich absichtlich Windows-Bibliotheken verwende.

Code: Select all

#include 
#include 
#include 

#pragma warning(disable:4996)
#pragma comment(lib, "ws2_32.lib")

using namespace std;

int Plug(string address, string port, SOCKET* csock) {
WSADATA WSAData;
WSAStartup(MAKEWORD(2, 0), &WSAData);

PADDRINFOA result;
ADDRINFOA hints;
ZeroMemory(&hints, sizeof(ADDRINFO));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
int res = getaddrinfo(address.c_str(), port.c_str(), &hints, &result);
*csock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (SOCKET_ERROR == connect(*csock, (SOCKADDR*)result->ai_addr, sizeof(SOCKADDR))) return WSAGetLastError();
return 0;
}

void Unplug(SOCKET* csock) {
closesocket(*csock);
WSACleanup();
}

string PostRequest(string host, string query, string data) {
string req = "POST " + query + " HTTP/1.1" + "\r\n";
req += "Host: " + host + "\r\n";
req += "Content-Type: application/x-www-form-urlencoded\r\n";
req += "Content-Length: " + to_string(data.length()) + "\r\n";
req += "Connection: Close";
req += "\r\n\r\n" + data + "\r\n\r\n";
SOCKET s;;
Plug(host, "80", &s);
Send(&s, req);
while (GetAvailable(&s) == 0) Sleep(10);
string result = Receive(&s);
//if (result.find("\r\n\r\n") == string::npos && DEBUG) return result;
//if (result.find("\r\n\r\n") == string::npos) return "PR_INVALID_RESPONSE";
//result = result.substr(result.find("\r\n\r\n") + 4, string::npos);
Unplug(&s);
return result;
}
int main() {
//https://discordapp.com/api/webhooks/705211476553629747/zwzqZMnTTgLtHBm3kc_DvvD71IW9FfE4ur-PQlkgeZhd56cT7UjSJCWI-V8wPiEUWV2w
std::cout<
}
Wenn ich jedoch die Post-Anfragen stelle, kann mein Inhalt nicht gesendet werden und gibt stattdessen 400 zurück. Ich habe noch ein paar weitere Dinge ausprobiert, frage mich aber, ob es meine Anfrage ist?

Code: Select all

HTTP/1.1 301 Moved Permanently
Cache-Control: max-age=3600
Cf-Ray: 58bd304dec1ff2c0-WAW
Cf-Request-Id: 026a1c84ad0000f2c054113200000001
Date: Thu, 30 Apr 2020 00:36:28 GMT
Expires: Thu, 30 Apr 2020 01:36:28 GMT
Location: MYWEBHOOKURL
Server: cloudflare
Set-Cookie: __cfruid=5adc23f36cce3f0a398b8f9e91429b4349ef9314-1588206988; path=/; domain=.discordapp.com; HttpOnly
Vary: Accept-Encoding
Content-Length: 0
Connection: close
Und nehmen wir an, ich verwende die tatsächliche IP von Discords, anstatt sie aufzulösen. Am Ende bekomme ich stattdessen
dies

Code: Select all

HTTP/1.1 403 Forbidden
Cache-Control: max-age=15
Cf-Ray: 58bd37782e6dffbc-WAW
Cf-Request-Id: 026a20ff1a0000ffbcc89df200000001
Content-Type: text/plain; charset=UTF-8
Date: Thu, 30 Apr 2020 00:41:21 GMT
Expires: Thu, 30 Apr 2020 00:41:36 GMT
Server: cloudflare
Set-Cookie: __cfduid=d4cb17401215362929759e2da8110f0e31588207281; expires=Sat, 30-May-20 00:41:21 GMT; path=/; domain=.162.159.129.233; HttpOnly; SameSite=Lax
Vary: Accept-Encoding
Content-Length: 16
Connection: close

error code: 1003
Wenn Sie irgendwelche Ideen haben, zögern Sie nicht, sie unten zu notieren, ich bin schon lange nicht mehr damit beschäftigt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post