Skip to content

API UO HTTP_Get ko

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Get

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

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

ClassicUO • Runtime API

HTTP/HTTPS로 설정이나 파일을 가져옵니다. 내려받은 코드를 실행하거나 게임 연결을 제어하지 않습니다.

정확한 구문

UO.HTTP_Get(URL:Any) -> Unit
UO.HTTP_Get(URL:Any, LStream:Any) -> Unit

매개변수

  • URL — 필수 String: 완전한 http:// 또는 https:// 주소. 프로세스의 일반 네트워크를 사용하며 프로필의 게임 프록시를 사용하지 않습니다. 게임 접속은 필요 없습니다.
  • LStream — 선택적 MemoryStream() 또는 File(path). 생략, 0, Nothing은 HTTP_Body()로 읽는 텍스트 형식입니다. 바이트가 기존 내용을 모두 대체하고 MemoryStream 위치는 0이 됩니다. File은 파일을 덮어쓰며 부모 폴더가 있어야 합니다. 다른 형식은 요청 전에 거부합니다.

반환값

Unit: 반환값이 없으며 Boolean, ID, 바이트 수가 아닙니다. 텍스트는 HTTP_Body(), 바이트는 스트림에서 읽습니다.

동작

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

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

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

1. ExecuteClientApiCompatibility

일반 GET은 텍스트·헤더를 저장합니다. 스트림 GET은 바이트·헤더를 저장하고 HTTP_Body를 비웁니다. 빈 응답이나 네트워크 오류도 스트림을 비우므로 중요한 파일은 메모리에서 먼저 검증하십시오.

Unit: 반환값이 없으며 Boolean, ID, 바이트 수가 아닙니다. 텍스트는 HTTP_Body(), 바이트는 스트림에서 읽습니다.

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

2. HttpRequest

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/HTTPS로 설정이나 파일을 가져옵니다. 내려받은 코드를 실행하거나 게임 연결을 제어하지 않습니다.
#
# Unit: 반환값이 없으며 Boolean, ID, 바이트 수가 아닙니다. 텍스트는 HTTP_Body(), 바이트는 스트림에서 읽습니다.

SUB Main()
    # JSON 객체의 minMana가 0..100이면 Integer로 변환하고 그 외에는 30입니다. 현재 마나가 아닌 설정입니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    UO.HTTP_Get("https://example.com/basic-config.json")
    Try
        Dim config = JsonParse(UO.HTTP_Body())
        Dim threshold = config.Get("minMana", 30)
        If IsNumeric(threshold) Then
            If threshold >= 0 AndAlso threshold <= 100 Then
                Return CInt(threshold)
            End If
        End If
    Catch problem
    End Try
    Return 30
END SUB

매개변수 및 실행 설명:

  • JSON 객체의 minMana가 0..100이면 Integer로 변환하고 그 외에는 30입니다. 현재 마나가 아닌 설정입니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

저장 전 확인

# 저장 전 확인
#
# HTTP/HTTPS로 설정이나 파일을 가져옵니다. 내려받은 코드를 실행하거나 게임 연결을 제어하지 않습니다.
#
# Unit: 반환값이 없으며 Boolean, ID, 바이트 수가 아닙니다. 텍스트는 HTTP_Body(), 바이트는 스트림에서 읽습니다.

SUB Main()
    # 비어 있지 않은 바이트만 작업 폴더의 download.bin을 덮어씁니다. True는 형식을 보증하지 않으므로 내용 검증을 추가하십시오.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    Dim data = MemoryStream()
    Using data
        UO.HTTP_Get("https://example.com/route-data.bin", data)
        If data.Length() = 0 Then
            Return False
        End If
        data.SaveToFile("download.bin")
        Return True
    End Using
END SUB

매개변수 및 실행 설명:

  • 비어 있지 않은 바이트만 작업 폴더의 download.bin을 덮어씁니다. True는 형식을 보증하지 않으므로 내용 검증을 추가하십시오.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

파일에 직접 쓰기

# 파일에 직접 쓰기
#
# HTTP/HTTPS로 설정이나 파일을 가져옵니다. 내려받은 코드를 실행하거나 게임 연결을 제어하지 않습니다.
#
# Unit: 반환값이 없으며 Boolean, ID, 바이트 수가 아닙니다. 텍스트는 HTTP_Body(), 바이트는 스트림에서 읽습니다.

SUB Main()
    # 빈 응답도 작업 폴더의 http-download.bin을 덮어씁니다. Using이 객체를 해제하며 Main은 헤더를 반환합니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    Dim output = File("http-download.bin")
    Using output
        UO.HTTP_Get("https://example.com/route-data.bin", output)
    End Using
    Return UO.HTTP_Header()
END SUB

매개변수 및 실행 설명:

  • 빈 응답도 작업 폴더의 http-download.bin을 덮어씁니다. Using이 객체를 해제하며 Main은 헤더를 반환합니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

Clone this wiki locally