Untitled
unknown
plain_text
2 years ago
2.1 kB
11
Indexable
#include <iostream>
#include <curl/curl.h>
size_t writeCallback(char* data, size_t size, size_t nmemb, std::string* output) {
size_t totalSize = size * nmemb;
output->append(data, totalSize);
return totalSize;
}
int main() {
CURL* curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// Webhook URL'sini belirtin
const char* webhookUrl = "<webhook_url>";
// Dosya yolu
const char* filePath = "/path/to/file.txt";
// Dosyayı açın
FILE* file = fopen(filePath, "rb");
if (!file) {
std::cerr << "Failed to open file: " << filePath << std::endl;
return 1;
}
// Dosya boyutunu alın
fseek(file, 0, SEEK_END);
long fileSize = ftell(file);
rewind(file);
// Dosya verisini bellekte depolamak için bir buffer oluşturun
char* buffer = new char[fileSize];
// Dosyayı buffer'a okuyun
size_t bytesRead = fread(buffer, 1, fileSize, file);
// Dosyayı kapatın
fclose(file);
// Dosya gönderme işlemi için multipart/form-data olarak ayarlayın
struct curl_httppost* formpost = nullptr;
struct curl_httppost* lastptr = nullptr;
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "file", CURLFORM_BUFFER, filePath, CURLFORM_BUFFERPTR, buffer, CURLFORM_BUFFERLENGTH, bytesRead, CURLFORM_END);
// CURL yapılandırması
curl_easy_setopt(curl, CURLOPT_URL, webhookUrl);
curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
// İstek gönderin
res = curl_easy_perform(curl);
if (res != CURLE_OK)
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
// CURL örneğini temizleyin
curl_easy_cleanup(curl);
// form verilerini temizleyin
curl_formfree(formpost);
// Belleği serbest bırakın
delete[] buffer;
}
curl_global_cleanup();
return 0;
}
Editor is loading...