Skip to content

API UO HTTP_Header ko

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Header

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

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

ClassicUO • Runtime API

이 스크립트의 마지막 HTTP 응답 헤더를 읽습니다. Content-Type 같은 정보이며 본문, 요청 헤더 또는 HTTP 상태 코드는 아닙니다.

정확한 구문

UO.HTTP_Header() -> Any

매개변수

매개변수가 없습니다.

반환값

String: CRLF로 나눈 이름: 값 행. HTTP 상태 행은 없습니다. 요청 전이나 네트워크 오류 후에는 비어 있습니다. 순서와 대소문자는 보장하지 않으며 별도 상태 코드 명령은 없습니다.

동작

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

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

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

1. ExecuteClientApiCompatibility

Header는 응답 및 콘텐츠 헤더를 합치며 바이너리 GET 후에도 읽을 수 있습니다. 이름은 대소문자를 무시해 비교합니다. Content-Type은 데이터 검증이 아니며 내려받은 내용을 코드로 실행하지 마십시오.

String: CRLF로 나눈 이름: 값 행. HTTP 상태 행은 없습니다. 요청 전이나 네트워크 오류 후에는 비어 있습니다. 순서와 대소문자는 보장하지 않으며 별도 상태 코드 명령은 없습니다.

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

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

예제

Content-Type 읽기

# Content-Type 읽기
#
# 이 스크립트의 마지막 HTTP 응답 헤더를 읽습니다. Content-Type 같은 정보이며 본문, 요청 헤더 또는 HTTP 상태 코드는 아닙니다.
#
# String: CRLF로 나눈 이름: 값 행. HTTP 상태 행은 없습니다. 요청 전이나 네트워크 오류 후에는 비어 있습니다. 순서와 대소문자는 보장하지 않으며 별도
# 상태 코드 명령은 없습니다.

SUB Main()
    # ReadHeader는 행 시작에서 대소문자 구분 없이 이름을 찾고 값 양쪽 공백을 제거합니다. 없으면 빈 문자열입니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    UO.HTTP_Get("https://example.com/basic-status")
    Return ReadHeader(UO.HTTP_Header(), "Content-Type")
END SUB

Function ReadHeader(headers, name)
    Dim marker = Chr(13) & Chr(10) & LCase(name) & ":"
    Dim text = Chr(13) & Chr(10) & headers & Chr(13) & Chr(10)
    Dim start = InStr(1, LCase(text), marker)
    If start = 0 Then
        Return ""
    End If
    start += Len(marker)
    Dim finish = InStr(start, text, Chr(13) & Chr(10))
    Return Trim(Mid(text, start, finish - start))
End Function

매개변수 및 실행 설명:

  • ReadHeader는 행 시작에서 대소문자 구분 없이 이름을 찾고 값 양쪽 공백을 제거합니다. 없으면 빈 문자열입니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

JSON 표시 검색

# JSON 표시 검색
#
# 이 스크립트의 마지막 HTTP 응답 헤더를 읽습니다. Content-Type 같은 정보이며 본문, 요청 헤더 또는 HTTP 상태 코드는 아닙니다.
#
# String: CRLF로 나눈 이름: 값 행. HTTP 상태 행은 없습니다. 요청 전이나 네트워크 오류 후에는 비어 있습니다. 순서와 대소문자는 보장하지 않으며 별도
# 상태 코드 명령은 없습니다.

SUB Main()
    # 모든 헤더에서 application/json을 찾는 Boolean이며 데이터 검증이 아닙니다. 정확한 필드는 ReadHeader, 본문은 JsonParse로 확인합니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

    UO.HTTP_Get("https://example.com/basic-status")
    Dim headers = UO.HTTP_Header()
    Return InStr(1, LCase(headers), "application/json") > 0
END SUB

매개변수 및 실행 설명:

  • 모든 헤더에서 application/json을 찾는 Boolean이며 데이터 검증이 아닙니다. 정확한 필드는 ReadHeader, 본문은 JsonParse로 확인합니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

바이너리 헤더

# 바이너리 헤더
#
# 이 스크립트의 마지막 HTTP 응답 헤더를 읽습니다. Content-Type 같은 정보이며 본문, 요청 헤더 또는 HTTP 상태 코드는 아닙니다.
#
# String: CRLF로 나눈 이름: 값 행. HTTP 상태 행은 없습니다. 요청 전이나 네트워크 오류 후에는 비어 있습니다. 순서와 대소문자는 보장하지 않으며 별도
# 상태 코드 명령은 없습니다.

SUB Main()
    # 스트림을 사용해도 헤더를 읽을 수 있습니다. 본문은 data에 있고 HTTP_Body는 비어 있습니다.
    # example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

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

매개변수 및 실행 설명:

  • 스트림을 사용해도 헤더를 읽을 수 있습니다. 본문은 data에 있고 HTTP_Body는 비어 있습니다.
  • example.com은 이 서비스를 제공하지 않습니다. 실제 URL로 바꾸십시오. 예제는 실제 HTTP 요청을 보내지만 게임 동작은 하지 않습니다.

Clone this wiki locally