سلام! برای بررسی اینکه آیا یک سایت آنلاین است یا نه، میتوانید از تابع InternetCheckConnection در ویندوز استفاده کنید. این تابع در کتابخانه wininet.h قرار دارد و با فراخوانی آن میتوانید بررسی کنید که آیا اتصال به یک سایت خاص مثل google.com ممکن است یا نه . به عنوان مثال:
#include <iostream>
#include <windows.h>
#include <wininet.h>
using namespace std;
int main() {
if (InternetCheckConnection(L"http://www.google.com", FLAG_ICC_FORCE_CONNECTION, 0)) {
cout << "connected to internet";
}
return 0;
}
یک راه حل کراس پلتفرم هم استفاده از curl هستش:
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com");
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* for Check errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
/* always cleanup */
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
این کد یک درخواست HTTP به google.com ارسال میکند. اگر سایت در دسترس باشد، curl_easy_perform() با موفقیت اجرا میشود و در غیر این صورت، خطای مناسب را برمیگرداند.