Difference between revisions of "API:priv:get-submit"

From EjudgeWiki
(...)
(...)
Line 51: Line 51:
 
   }
 
   }
 
  }
 
  }
 +
 +
Пример кода на python:
 +
 +
import requests
 +
import os
 +
 +
URL = 'http://HOST/cgi-bin/master'
 +
TOKEN = 'TOKEN'
 +
CONTEST_ID = 1
 +
RUN_ID = 50
 +
 +
headers = {
 +
        "Authorization": "Bearer AQAA" + TOKEN
 +
}
 +
 +
data = {
 +
        "contest_id" : CONTEST_ID,
 +
        "json" : 1,
 +
        "action" : "run-status-json",
 +
        "run_id" : RUN_ID,
 +
}
 +
 +
response = requests.post(URL, data=data, headers=headers)
 +
print(response.json())

Revision as of 17:30, 2 February 2023

Навигация: Главная страница/Система ejudge/Использование/API/get-submit (привилегированный)

Запрос возвращает информацию о посылке, отправленной с помощью submit-run-input

Уровень доступа: администратор в контесте (аутентификация с помощью API key или EJSID/session_id).

Method: GET

Параметры:

  • action (string) - строка get-submit
  • submit_id (int64) - ID посылки

Response content type: application/json

В случае ошибки возвращается JSON:

{
  "ok": false,
  "server_time": UNIX-TIMESTAMP,
  "action": "submit-run-input",
  "error": {
    "num": ERROR-CODE,
    "symbol": ERROR-SYMBOL,
    "message": ERROR-MESSAGE
  }
}

В случае успеха возвращается JSON:

{
  "ok": true,
  "result": {
    "submit_id": ID,
    "user_id": USER-ID,
    "prob_id": PROB-ID,
    "lang_id": LANG-ID,
    "status": STATUS,
    "status_str": STATUS-SHORT-STR,
    "compiler_output": COMPILER-MESSAGES,
    "test_checker_output": TEST-CHECKER-MESSAGES,
    "time": CPU-TIME,
    "real_time": REAL-TIME,
    "exit_code": PROCESS-EXIT-CODE,
    "term_signal": TERMINATION-SIGNAL,
    "max_memory_used": VIRT-MEM-USE,
    "max_rss": MEMORY-USE,
    "input": INPUT,
    "output": OUTPUT-TEXT,
    "error": ERROR-TEXT
  }
}

Пример кода на python:

import requests
import os

URL = 'http://HOST/cgi-bin/master'
TOKEN = 'TOKEN'
CONTEST_ID = 1
RUN_ID = 50

headers = {
        "Authorization": "Bearer AQAA" + TOKEN
}

data = {
        "contest_id" : CONTEST_ID,
        "json" : 1,
        "action" : "run-status-json",
        "run_id" : RUN_ID,
}

response = requests.post(URL, data=data, headers=headers) print(response.json())