-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Post ko
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
자신의 HTTP 서비스에 POST로 텍스트를 보내고 응답을 반환합니다. Telegram/Discord는 별도의 프로토콜과 인증 지원이 필요합니다.
UO.HTTP_Post(URL:Any, PostData:Any) -> Any
-
URL— 필수 String: 완전한 http:// 또는 https:// 주소. 프로세스의 일반 네트워크를 사용하며 프로필의 게임 프록시를 사용하지 않습니다. 게임 접속은 필요 없습니다. -
PostData— 필수 본문 텍스트. UTF-8, Content-Type: text/plain; charset=utf-8로 전송합니다. 폼 자동 인코딩이나 application/json 전환은 없습니다. JsonStringify는 텍스트만 생성하므로 서비스가 text/plain JSON을 허용해야 합니다. 임의의 요청 헤더를 설정할 수 없습니다.
String: 응답 텍스트이며 HTTP_Body()에도 저장됩니다. Boolean이나 HTTP 상태가 아닙니다. 빈 문자열 여부만으로 성공을 판단할 수 없습니다.
- 응답 버퍼는 현재 스크립트 runtime에 속합니다. 해당 스크립트의 다음 GET/POST가 교체하며 다른 스크립트는 변경하지 않습니다. 프로필에 저장하지 않습니다. 보존할 데이터는 먼저 변수로 복사합니다.
- GET/POST는 스크립트 스레드에서 기다립니다. 요청과 본문 읽기의 총 제한은 20초입니다. 스크립트 중지는 대기를 취소하며 Body/Header는 기다리지 않습니다. File을 써도 본문 전체를 메모리에 읽습니다.
- charset에 따라 디코딩하며 없거나 알 수 없으면 UTF-8입니다. 4xx/5xx 본문도 읽습니다. 네트워크 오류/시간 초과는 오류 표시와 본문·헤더 초기화를 일으킵니다. Try/Catch는 응답 검증을 대신하지 않습니다. 취소는 전파되며 로컬 쓰기·인수 오류는 잡을 수 있습니다.
- POST는 본문·헤더를 저장하고 본문을 반환합니다. 빈 응답만으로 재시도하지 마십시오. 서버에서 이미 실행했을 수 있습니다. accepted/status는 자체 서비스와의 약속입니다.
실제 클라이언트 처리 단계이며 추가 명령이 아닙니다. GET/POST는 HttpRequest를 호출하고 Body/Header는 자기 runtime의 결과만 읽습니다.
POST는 본문·헤더를 저장하고 본문을 반환합니다. 빈 응답만으로 재시도하지 마십시오. 서버에서 이미 실행했을 수 있습니다. accepted/status는 자체 서비스와의 약속입니다.
String: 응답 텍스트이며 HTTP_Body()에도 저장됩니다. Boolean이나 HTTP 상태가 아닙니다. 빈 문자열 여부만으로 성공을 판단할 수 없습니다.
프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 함수 ExecuteClientApiCompatibility.
GET/POST는 스크립트 스레드에서 기다립니다. 요청과 본문 읽기의 총 제한은 20초입니다. 스크립트 중지는 대기를 취소하며 Body/Header는 기다리지 않습니다. File을 써도 본문 전체를 메모리에 읽습니다.
charset에 따라 디코딩하며 없거나 알 수 없으면 UTF-8입니다. 4xx/5xx 본문도 읽습니다. 네트워크 오류/시간 초과는 오류 표시와 본문·헤더 초기화를 일으킵니다. Try/Catch는 응답 검증을 대신하지 않습니다. 취소는 전파되며 로컬 쓰기·인수 오류는 잡을 수 있습니다.
프로젝트 소스: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 함수 HttpRequest.
실제 클라이언트 처리 단계이며 추가 명령이 아닙니다. GET/POST는 HttpRequest를 호출하고 Body/Header는 자기 runtime의 결과만 읽습니다.
# 약속된 응답 확인
#
# 자신의 HTTP 서비스에 POST로 텍스트를 보내고 응답을 반환합니다. Telegram/Discord는 별도의 프로토콜과 인증 지원이 필요합니다.
#
# String: 응답 텍스트이며 HTTP_Body()에도 저장됩니다. Boolean이나 HTTP 상태가 아닙니다. 빈 문자열 여부만으로 성공을 판단할 수 없습니다.
SUB Main()
# 서비스가 Route stopped에 accepted로 응답한다고 가정합니다. True는 텍스트를 확인하며 HTTP 코드는 아닙니다.
# example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
Dim reply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
Return Trim(reply) = "accepted"
END SUB매개변수 및 실행 설명:
- 서비스가 Route stopped에 accepted로 응답한다고 가정합니다. True는 텍스트를 확인하며 HTTP 코드는 아닙니다.
- example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
# 구조화된 보고서
#
# 자신의 HTTP 서비스에 POST로 텍스트를 보내고 응답을 반환합니다. Telegram/Discord는 별도의 프로토콜과 인증 지원이 필요합니다.
#
# String: 응답 텍스트이며 HTTP_Body()에도 저장됩니다. Boolean이나 HTTP 상태가 아닙니다. 빈 문자열 여부만으로 성공을 판단할 수 없습니다.
SUB Main()
# JsonStringify가 줄바꿈을 이스케이프하지만 Content-Type은 text/plain입니다. JSON 응답의 status, 없으면 unknown, 오류면
# invalid response입니다.
# example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
Dim report = Dictionary()
report["event"] = "route-stopped"
report["text"] = "line one" & Chr(10) & "line two"
Dim reply = UO.HTTP_Post("https://example.com/basic-report", JsonStringify(report))
Try
Dim result = JsonParse(reply)
Return result.Get("status", "unknown")
Catch problem
Return "invalid response"
End Try
END SUB매개변수 및 실행 설명:
- JsonStringify가 줄바꿈을 이스케이프하지만 Content-Type은 text/plain입니다. JSON 응답의 status, 없으면 unknown, 오류면 invalid response입니다.
- example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
# 첫 응답 보존
#
# 자신의 HTTP 서비스에 POST로 텍스트를 보내고 응답을 반환합니다. Telegram/Discord는 별도의 프로토콜과 인증 지원이 필요합니다.
#
# String: 응답 텍스트이며 HTTP_Body()에도 저장됩니다. Boolean이나 HTTP 상태가 아닙니다. 빈 문자열 여부만으로 성공을 판단할 수 없습니다.
SUB Main()
# firstReply/firstHeaders는 POST 응답을 보존하며 다음 GET은 내부 버퍼만 바꿉니다.
# example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
Dim firstReply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
Dim firstHeaders = UO.HTTP_Header()
UO.HTTP_Get("https://example.com/basic-status")
Return firstReply & "|" & firstHeaders
END SUB매개변수 및 실행 설명:
- firstReply/firstHeaders는 POST 응답을 보존하며 다음 GET은 내부 버퍼만 바꿉니다.
- example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь