C++涓€庝箞璇诲彇缃戠粶涓婄殑鏂囦欢鍐呭
鍦–++涓紝瑕佽鍙栫綉缁滀笂鐨勬枃浠跺唴瀹癸紝鍙互浣跨敤缃戠粶閫氫俊搴擄紝濡俵ibcurl锛屾潵涓嬭浇鏂囦欢骞惰鍙栧唴瀹广€備互涓嬫槸涓€涓畝鍗曠殑绀轰緥浠g爜锛?/p>
#include <iostream>
#include <curl/curl.h>
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, std::string *buffer) {
size_t realsize = size * nmemb;
buffer->append((char*)contents, realsize);
return realsize;
}
int main() {
CURL *curl;
CURLcode res;
std::string buffer;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/file.txt");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
std::cerr << "Failed to download file: " << curl_easy_strerror(res) << std::endl;
} else {
std::cout << "File content: " << buffer << std::endl;
}
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
鍦ㄨ繖涓ず渚嬩腑锛屾垜浠娇鐢╨ibcurl搴撳彂閫丠TTP璇锋眰鏉ヤ笅杞芥枃浠跺唴瀹癸紝骞跺皢鍐呭淇濆瓨鍦ㄤ竴涓猻tring鍙橀噺涓€傛垜浠畾涔変簡涓€涓洖璋冨嚱鏁癢riteCallback鏉ュ鐞嗘帴鏀跺埌鐨勬暟鎹紝骞跺皢鍏舵坊鍔犲埌buffer涓€傛渶鍚庤緭鍑烘枃浠跺唴瀹瑰埌鎺у埗鍙般€?/p>
相关问答