INTEGRITY Документация

Управление сессиями (HTTP)

Используйте HTTP API для управления сеансами браузера и вкладками без WebSocket-соединений. Это удобно для операций жизненного цикла сеанса, таких как создание сеансов, получение списка вкладок и очистка ресурсов.

Прежде чем начать, создание пользовательского API Token с Browser Rendering - Edit разрешение.

Справочник по API описывает все эндпоинты управления сессиями в /devtools.

Шаг 1. Получите сессию браузера

Создайте новую сессию браузера с помощью POST /devtools/browser эндпоинт. Сессия будет оставаться активной в течение заданного времени поддержания активности (в этом примере, 10 минут).

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser?keep_alive=600000" \
	--request POST \
	--header "Authorization: Bearer {api_token}"
{
	"sessionId": "1909cef7-23e8-4394-bc31-27404bf4348f",
	"webSocketDebuggerUrl": "wss://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f"
}

Сохраните sessionId из ответа. Используйте его в последующих запросах.

Шаг 2. Создайте вкладку с определённым URL

Откройте новую вкладку в сессии браузера и перейдите по определённому URL с помощью PUT /devtools/browser/{session_id}/json/new конечная точка.

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/new?url=https%3A%2F%2Fexample.com" \
	--request PUT \
	--header "Authorization: Bearer {api_token}"
{
	"id": "8E598E996530FB09E46A22B8B7754F7F",
	"type": "page",
	"url": "https://example.com",
	"title": "Example Domain",
	"description": "",
	"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
	"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
}

Шаг 3. Выведите список всех targets

Получите список всех целей (вкладок) в сеансе, чтобы убедиться, что вкладка создана, и получить devtoolsFrontendUrl.

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID/json/list" \
	--request GET \
	--header "Authorization: Bearer {api_token}"
[
	{
		"id": "8E598E996530FB09E46A22B8B7754F7F",
		"type": "page",
		"url": "https://example.com",
		"title": "Example Domain",
		"description": "",
		"devtoolsFrontendUrl": "https://live.browser.run/ui/view?wss=live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=...",
		"webSocketDebuggerUrl": "wss://live.browser.run/api/devtools/browser/1909cef7-23e8-4394-bc31-27404bf4348f/page/8E598E996530FB09E46A22B8B7754F7F?jwt=..."
	}
]

Шаг 4. Откройте интерфейс DevTools

Скопируйте devtoolsFrontendUrl из ответа и откройте его в Chrome. Этот URL обеспечивает прямой доступ к интерфейсу Chrome DevTools, подключённому к вашей удалённой сессии браузера.

После открытия загрузится интерфейс DevTools, и вы сможете:

Шаг 5. Очистка

Когда работа завершена, закройте сессию браузера, чтобы освободить ресурсы.

curl "https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/browser-rendering/devtools/browser/SESSION_ID" \
	--request DELETE \
	--header "Authorization: Bearer {api_token}"
{
	"status": "closing"
}

Устранение неполадок

Если у вас есть вопросы или возникла ошибка, см. Часто задаваемые вопросы и руководство по устранению неполадок Browser Run.