Внешние HTTP-запросы

В Python-ячейках ноутбука можно обращаться к внешним HTTP API. Обычно этому мешают два ограничения браузерной среды: политика CORS и сетевой стек WASM. В SubQuery запросы из requests идут через прокси-сервер, поэтому внешние вызовы работают, обходя оба ограничения.

GET

await sq.install("requests", quiet=True)import requests response = requests.get(    "https://httpbin.org/get",    params={"param1": "value1"},    timeout=30,) response.json()

POST

payload = {    "name": "Alice",    "role": "Developer",} response = requests.post(    "https://httpbin.org/post",    params={"param1": "value1"},    json=payload,    timeout=30,) response.json()

Что важно знать

  • requests входит в whitelist пакетов (см. Установка библиотек) — установите его в первой рабочей ячейке ноутбука;
  • запросы отправляются через прокси SubQuery: CORS и ограничения WASM не блокируют внешние вызовы;
  • всегда передавайте timeout — иначе зависший сервис подвесит ячейку;
  • прокси применяется к requests; другие HTTP-клиенты (aiohttp, httpx, urllib3) работают как обычные браузерные запросы со стандартными CORS-ограничениями.