This is a decade old thread, but here’s a method for 2024 and Unreal Engine 5 and if you are on a Desktop PC or Mac (haven’t tried other platforms).
- Add “HTTP” to your build.cs file.
- Add the following headers to your class:
#include "HttpModule.h"
#include "Interfaces/IHttpRequest.h"
#include "Interfaces/IHttpResponse.h"
#include "Http.h"
- The following code should work:
void YourClass::CheckInternetConnection()
{
TSharedRef<IHttpRequest, ESPMode::ThreadSafe> HttpRequest = FHttpModule::Get().CreateRequest();
HttpRequest->OnProcessRequestComplete().BindUObject(this, &YourClass::OnInternetResponseReceived);
HttpRequest->SetURL("https://www.google.com");
HttpRequest->SetVerb("GET");
HttpRequest->ProcessRequest();
}
void YourClass::OnInternetResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{
if (bWasSuccessful && Response->GetResponseCode() == 200)
{
UE_LOG(LogTemp, Warning, TEXT("Internet connection is available"));
// Add any additional actions here for a successful connection
}
else
{
UE_LOG(LogTemp, Warning, TEXT("No internet connection"));
// Add any additional actions here for a failed connection
}
}