API UO HTTP_Post - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · HTTP
Operates on the active Basic/ClassicUO runtime, network or profile state through the registered implementation route.
UO.HTTP_Post(URL:Any, PostData:Any) -> Any
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
URL |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
PostData |
Text/String value (String); pass literal text as a quoted BASIC string. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
URL — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
-
PostData— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
VAR result = UO.HTTP_Post('https://example.com/', 0)
END SUBSUB Main()
VAR result = UO.HTTP_Post('https://example.com/', 2)
UO.Print(CStr(result))
END SUBSUB Main()
VAR arg1 = 'https://example.com/' # URL
VAR arg2 = 2 # PostData
VAR result = UO.HTTP_Post(arg1, arg2)
UO.Print(CStr(result))
END SUBSUB ReadResult()
VAR arg1 = 'https://example.com/' # URL
VAR arg2 = 2 # PostData
VAR result = UO.HTTP_Post(arg1, arg2)
UO.Print(CStr(result))
END SUB
SUB Main()
ReadResult()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
{
string[] response = bridge.HttpRequest("POST", Text(0), Text(1));
state.HttpBody = response.Length > 0 ? response[0] : string.Empty;
state.HttpHeader = response.Length > 1 ? response[1] : string.Empty;
return new InjectionValue(state.HttpBody);
}Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.