Внешние 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-ограничениями.