头文件确保包含以下内容:
#include "HttpModule.h"
#include "Http.h"
加载代码参考如下:
void ALoadDocument::LoadWebDocument(FString url) {
// 获取 HTTP 模块
FHttpModule* HttpModule = &FHttpModule::Get();
// 创建 HTTP 请求
TSharedRef<IHttpRequest> HttpRequest = HttpModule->CreateRequest();
// 设置请求的 URL
HttpRequest->SetURL(url);
// 设置请求方法(GET)
HttpRequest->SetVerb(TEXT("GET"));
// 设置请求完成后的回调函数
HttpRequest->OnProcessRequestComplete().BindUObject(this, &ALoadDocument::OnHttpRequestComplete);
// 发送请求
HttpRequest->ProcessRequest();
}
void ALoadDocument::OnHttpRequestComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful){
if (bWasSuccessful && Response.IsValid()){
// 请求成功,获取文档内容
FString DocumentContent = Response->GetContentAsString();
// 处理文档内容,例如打印到控制台
UE_LOG(LogTemp, Warning, TEXT("Web Document Content: %s"), *DocumentContent);
}
else{
// 请求失败
UE_LOG(LogTemp, Error, TEXT("Failed to load web document."));
}
}