Skip to content

API UO HTTP_Body ko

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Body

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header

ClassicUO • Runtime API

이 스크립트의 마지막 HTTP 응답 텍스트를 읽습니다. JSON 설정 분석 등에 사용하며 새 요청은 보내지 않습니다.

정확한 구문

UO.HTTP_Body() -> Any

매개변수

매개변수가 없습니다.

반환값

String: 저장된 텍스트. 첫 요청 전, 스트림 GET 후, 네트워크 오류 후에는 비어 있습니다. 정상적인 HTTP 204도 비어 있을 수 있습니다.

동작

  • 응답 버퍼는 현재 스크립트 runtime에 속합니다. 해당 스크립트의 다음 GET/POST가 교체하며 다른 스크립트는 변경하지 않습니다. 프로필에 저장하지 않습니다. 보존할 데이터는 먼저 변수로 복사합니다.
  • GET/POST는 스크립트 스레드에서 기다립니다. 요청과 본문 읽기의 총 제한은 20초입니다. 스크립트 중지는 대기를 취소하며 Body/Header는 기다리지 않습니다. File을 써도 본문 전체를 메모리에 읽습니다.
  • charset에 따라 디코딩하며 없거나 알 수 없으면 UTF-8입니다. 4xx/5xx 본문도 읽습니다. 네트워크 오류/시간 초과는 오류 표시와 본문·헤더 초기화를 일으킵니다. Try/Catch는 응답 검증을 대신하지 않습니다. 취소는 전파되며 로컬 쓰기·인수 오류는 잡을 수 있습니다.
  • Body는 읽기만 하며 다시 요청하거나 지우지 않습니다. 바이너리 GET 후에는 ToArray()나 파일을 사용합니다.

내부 함수: 호출부터 결과까지

실제 클라이언트 처리 단계이며 추가 명령이 아닙니다. GET/POST는 HttpRequest를 호출하고 Body/Header는 자기 runtime의 결과만 읽습니다.

1. ExecuteClientApiCompatibility

Body는 읽기만 하며 다시 요청하거나 지우지 않습니다. 바이너리 GET 후에는 ToArray()나 파일을 사용합니다.

String: 저장된 텍스트. 첫 요청 전, 스트림 GET 후, 네트워크 오류 후에는 비어 있습니다. 정상적인 HTTP 204도 비어 있을 수 있습니다.

프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 함수 ExecuteClientApiCompatibility.

실제 클라이언트 처리 단계이며 추가 명령이 아닙니다. GET/POST는 HttpRequest를 호출하고 Body/Header는 자기 runtime의 결과만 읽습니다.

예제

텍스트 조건

# 텍스트 조건
#
# 이 스크립트의 마지막 HTTP 응답 텍스트를 읽습니다. JSON 설정 분석 등에 사용하며 새 요청은 보내지 않습니다.
#
# String: 저장된 텍스트. 첫 요청 전, 스트림 GET 후, 네트워크 오류 후에는 비어 있습니다. 정상적인 HTTP 204도 비어 있을 수 있습니다.

SUB Main()
    # allow만 True이고 빈 응답 등 나머지는 False입니다. 이동이나 전투를 시작하지 않습니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    UO.HTTP_Get("https://example.com/basic-permission")
    Dim permission = Trim(UO.HTTP_Body())
    Return permission = "allow"
END SUB

매개변수 및 실행 설명:

  • allow만 True이고 빈 응답 등 나머지는 False입니다. 이동이나 전투를 시작하지 않습니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

두 응답 결합

# 두 응답 결합
#
# 이 스크립트의 마지막 HTTP 응답 텍스트를 읽습니다. JSON 설정 분석 등에 사용하며 새 요청은 보내지 않습니다.
#
# String: 저장된 텍스트. 첫 요청 전, 스트림 GET 후, 네트워크 오류 후에는 비어 있습니다. 정상적인 HTTP 204도 비어 있을 수 있습니다.

SUB Main()
    # 설명을 GET하기 전에 경로 이름을 저장하여 덮어쓰기를 피합니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    UO.HTTP_Get("https://example.com/route-name")
    Dim routeName = UO.HTTP_Body()
    UO.HTTP_Get("https://example.com/route-description")
    Return routeName & ": " & UO.HTTP_Body()
END SUB

매개변수 및 실행 설명:

  • 설명을 GET하기 전에 경로 이름을 저장하여 덮어쓰기를 피합니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

바이트와 텍스트

# 바이트와 텍스트
#
# 이 스크립트의 마지막 HTTP 응답 텍스트를 읽습니다. JSON 설정 분석 등에 사용하며 새 요청은 보내지 않습니다.
#
# String: 저장된 텍스트. 첫 요청 전, 스트림 GET 후, 네트워크 오류 후에는 비어 있습니다. 정상적인 HTTP 204도 비어 있을 수 있습니다.

SUB Main()
    # 3바이트라면 3:을 반환합니다. HTTP_Body는 비어 있고 data는 Using 종료까지 유지됩니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    Dim data = MemoryStream()
    Using data
        UO.HTTP_Get("https://example.com/route-data.bin", data)
        Return CStr(data.Length()) & ":" & UO.HTTP_Body()
    End Using
END SUB

매개변수 및 실행 설명:

  • 3바이트라면 3:을 반환합니다. HTTP_Body는 비어 있고 data는 Using 종료까지 유지됩니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

Clone this wiki locally