Руководство по использованию локальных API ovoBrowser
Используйте локальный HTTP API для управления средой, группировкой, метками, прокси - серверами, станциями восстановления и процессами браузера, включая полные поля и примеры cURL.
Руководство по использованию локальных API OvoBrowser
Локальный API ovoBrowser используется для управления средой браузера, группировкой, метками, прокси - серверами, станциями переработки и процессами браузера на вашем компьютере. Интерфейс только для прослушивания.127.0.0.1Не требуется токен, токен Bearer илиx-api-keyА.
1. Способ открытия производства
Автозапуск рабочего стола
После успешного входа в учетную запись локальный API запускается автоматически и сохраняет текущий порт. Следующий сеанс сохранения будет автоматически запущен после успешного восстановления. Адрес по умолчанию:
http://127.0.0.1:50325Фактический порт основан на странице клиента « API & MCP». Google、GitHub、 Как пароль учетной записи, так и регистрация приглашений в конечном итоге создают один и тот же сеанс входа, поэтому после успешного входа в учетную запись запускается локальный API.
Если служба останавливается вручную в клиенте, текущий порт немедленно закрывается; При следующем успешном входе в систему или восстановлении сеанса он будет запущен автоматически.
Модель CLI
Сначала успешно войдите в систему на рабочем столе и сохраните статус входа, а затем выполните:
& "C:\Program Files\ovoBrowser\ovoBrowser.exe" --cli --api-port 50325Путь программы зависит от фактического места установки.--api-portМожет быть опущен, когда используется сохраненный порт. CLI повторно использует сеансы учетной записи в безопасном хранилище операционной системы и не получает пароль учетной записи командной строки или токен.
« Сохранение состояния входа» означает, что на рабочем столе не нажимается кнопка « Выход из входа», и сеанс сохранения остается в силе. При выходе из системы, истечении срока действия сеанса или удалении данных приложения необходимо вновь открыть вход на рабочем столе; Войти в Google / GitHub также можно на рабочем столе.
2. Правила вызова
Все интерфейсы используются.
POSTПараметры размещены в JSON Body.Использовать заголовок запроса
Content-Type: application/jsonА.Местоположение окружающей среды рекомендуется использовать
idБольшинство интерфейсов также поддерживаютseqЭкологический серийный номер.Параметры страницы
pageотНольНачать,pageSizeСфера охвата1 - 100А.Учетные записи, файлы cookie, ключи 2FA и прокси - пароли являются конфиденциальной информацией и не записываются в публичный журнал.
Успешный ответ:
{"success":true,"data":{}}Неудачный ответ:
{"success":false,"msg":"失败原因"}3. Общий обзор интерфейса
| классификация | интерфейс | Роль |
|---|---|---|
| услуга | /health | Проверьте, работает ли локальный API |
| окружающая среда | /browser/list | Список сред, поддержка группирования и скрининг меток |
| окружающая среда | /browser/detail | Экологические подробности |
| окружающая среда | /browser/create | Создание среды с поддержкой полного поля |
| окружающая среда | /browser/update | Обновление среды, поддержка полного поля |
| Рекуперационная станция | /browser/recycle/list | Список рекуперационных станций |
| Рекуперационная станция | /browser/delete | Удалить окружающую среду на станцию |
| Рекуперационная станция | /browser/restore | Восстановление окружающей среды |
| Рекуперационная станция | /browser/delete/permanent | Полное удаление среды рециркуляции |
| Группирование | /group/list、/group/create、/group/update、/group/delete | Добавления, исключения и исправления |
| метка | /tag/list、/tag/create、/tag/update、/tag/delete | Добавление / удаление меток |
| Агент | /proxy/list、/proxy/create、/proxy/update | Управление многоразовыми прокси |
| Запуск | /browser/open、/browser/active、/browser/running | Открытие и проверка состояния выполнения |
| Запуск | /browser/pids、/browser/pids/all、/browser/ports | PID и порты CDP |
| работать | /browser/close、/browser/close/all | Закрыть окружающую среду |
4. Медицинские осмотры
curl --location 'http://127.0.0.1:50325/health' \
--header 'Content-Type: application/json' \
--data '{}'возвращатьсяdata.running=trueПоказывает, что порт запущен. Повторный вызов списка среды подтверждает, что сеанс учетной записи и рабочая область восстановлены.
5. Групповой API
Кластеры используются для отдельных категорий: среда принадлежит максимум одной группе, черезgroupIdСвязь.
Список групп
curl --location 'http://127.0.0.1:50325/group/list' \
--header 'Content-Type: application/json' \
--data '{}'data.listЭто кластерный массив,_count.profilesКоличество окружающей среды в подгруппе.
Дополнительные группы
| Поле | Тип | Обязательное поле | Описание |
|---|---|---|---|
name | string | Да | От 1 до 50 символов, в одной учётной записи имена не должны повторяться |
color | string | Нет | #RRGGBB, по умолчанию#3478F6 |
curl --location 'http://127.0.0.1:50325/group/create' \
--header 'Content-Type: application/json' \
--data '{"name":"电商账号","color":"#3478F6"}'Редактировать группу
idиgroupIdОба поля могут использоваться для указания группы. Помимо поля идентификации передавайте только поля, значения которых необходимо изменить.
curl --location 'http://127.0.0.1:50325/group/update' \
--header 'Content-Type: application/json' \
--data '{"id":"分组ID","name":"重要电商账号","color":"#16A34A"}'Удалить группу
curl --location 'http://127.0.0.1:50325/group/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"分组ID"}'Удаление группы не удаляет окружения, окружения исходной группы будут перемещены в раздел «Без группы». Системную группу по умолчанию удалить нельзя.
6. Метки API
Метки используются для многовыборочных меток: среда связывает до 20 метокtagIdsСвязь массивов.
Список меток
curl --location 'http://127.0.0.1:50325/tag/list' \
--header 'Content-Type: application/json' \
--data '{}'Добавить метку
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
name | string | да | 1 - 50 символов, нельзя переименовать под одним аккаунтом |
color | string | Нет | #RRGGBBПо умолчанию#3478F6 |
curl --location 'http://127.0.0.1:50325/tag/create' \
--header 'Content-Type: application/json' \
--data '{"name":"高优先级","color":"#F97316"}'Изменить вкладку
curl --location 'http://127.0.0.1:50325/tag/update' \
--header 'Content-Type: application/json' \
--data '{"id":"标签ID","name":"VIP","color":"#A855F7"}'Удалить метку
curl --location 'http://127.0.0.1:50325/tag/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"标签ID"}'Удаление метки снимет ее связь со всеми средами, но не удалит среду.
7. Агентский API
Окружающая среда может сначала создать многоразовый агент, а затем передатьproxyIdОн также может быть передан непосредственно при создании или обновлении среды.proxyОба способа нельзя использовать одновременно.
Список агентов
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
page | integer | Нет | Начнем с нуля. |
pageSize | integer | Нет | 1 - 100 |
search | string | Нет | Поиск по имени или хосту;nameСовместимые псевдонимы. |
status | string | Нет | UNCHECKED、AVAILABLE、UNAVAILABLE |
curl --location 'http://127.0.0.1:50325/proxy/list' \
--header 'Content-Type: application/json' \
--data '{"page":0,"pageSize":10,"search":""}'Ответ Вернуть текущий пароль проксиpasswordиhasPasswordНе возвращает конфиденциальный текст сервера.
Дополнительные агенты
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
name | string | да | Имя агента, 1 - 80 символов |
protocol | string | да | HTTP、HTTPS、SOCKS5 |
host | string | да | Имя узла или IP без протокола, пути и порта |
port | integer | да | 1 - 65535 |
username | string/null | Нет | Имя пользователя |
password | string/null | Нет | Пароль аутентификации |
curl --location 'http://127.0.0.1:50325/proxy/create' \
--header 'Content-Type: application/json' \
--data '{
"name":"Tokyo Proxy",
"protocol":"SOCKS5",
"host":"proxy.example.com",
"port":1080,
"username":"proxy-user",
"password":"proxy-password"
}'Редактировать прокси
idиproxyIdВсе они могут найти агента. ПропуститьpasswordСохранить оригинальный пароль, передатьnullОчистить пароль.
curl --location 'http://127.0.0.1:50325/proxy/update' \
--header 'Content-Type: application/json' \
--data '{"id":"代理ID","host":"new-proxy.example.com","port":1080,"password":"new-password"}'После изменения протокола, хоста, порта, имени пользователя или пароля состояние обнаружения будет сброшено какUNCHECKEDА.
8. Создание среды
Полное описание поля
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
name | string | Нет | Название среды, до 80 символов |
platform | string | Нет | windows、macos、linux、android、ios& По умолчаниюwindows |
remark | string/null | Нет | Примечания к окружающей среде, до 500 символов |
groupId | string/null | Нет | Идентификатор группы;nullНе группировать |
tagIds | string[] | Нет | Числа идентификаторов меток, до 20 |
accounts | array | Нет | Количество счетов, до 20. |
cookies | array/object/string/null | Нет | Рекомендуемая запись с возможностью прямой передачи cookie json |
cookieData | string/null | Нет | Исходный текст cookie; иcookiesДва, один. |
startupUrls | string[] | Нет | Сайты, открытые после запуска, до 50 |
fingerprint | object | Нет | Частичная или полная конфигурация отпечатков пальцев; Автоматизация пропущенных элементов |
proxyId | string/null | Условия необязательно | Имеющийся идентификатор агента; &proxyДва, один. |
proxy | object/null | Условия необязательно | Настройка окружения для частных агентов |
accountsКаждый пункт:
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
platform | string | да | Платформы, напримерgoogle、amazon |
username | string | Нет | Регистрация учетной записи или почтового ящика |
password | string/null | Нет | Пароль входа, максимум 512 символов |
totpSecret | string/null | Нет | Ключ 2FA формата Base32 |
openOnStart | boolean | Нет | Открыть ли страницу учетной записи при запуске среды по умолчаниюfalse |
remark | string/null | Нет | Примечания к аккаунту, до 200 символов |
ИнтранетproxyА.
| Поле | тип | Обязательно | объяснение |
|---|---|---|---|
type | string | да | HTTP、HTTPS、SOCKS5*protocolСовместимые псевдонимы. |
host | string | да | Компьютер илиhost:portРекомендации IPv6[IPv6]:port |
port | integer | Условия должны быть заполнены | hostОбязательно, если порт не включен |
username | string/null | Нет | Имя пользователя |
password | string/null | Нет | Пароль аутентификации |
Полное создание примеров
curl --location 'http://127.0.0.1:50325/browser/create' \
--header 'Content-Type: application/json' \
--data '{
"name":"完整环境示例",
"platform":"windows",
"remark":"通过本地 API 创建",
"groupId":"分组ID",
"tagIds":["标签ID1","标签ID2"],
"accounts":[
{
"platform":"google",
"username":"[email protected]",
"password":"account-password",
"totpSecret":null,
"openOnStart":true,
"remark":"主账号"
}
],
"cookies":[
{
"name":"session_id",
"value":"cookie-value",
"domain":".example.com",
"path":"/",
"secure":true,
"httpOnly":true,
"sameSite":"Lax"
}
],
"startupUrls":[
"https://example.com/login",
"https://example.com/dashboard"
],
"fingerprint":{
"timezone":"Asia/Shanghai",
"acceptLanguage":"zh-CN,zh,en"
},
"proxy":{
"type":"HTTP",
"host":"proxy.example.com",
"port":8080,
"username":"proxy-user",
"password":"proxy-password"
}
}'При использовании существующего прокси - сервера удалитьproxyВесь абзац, переадресовать"ПроксиИд": "Уже есть Agent ID". Когда агент не используется,proxyиproxyIdДаже не передавайте.
Формат cookie
Рекомендуется использоватьcookiesПрямой доступ к массиву JSON. Часто используемые поля cookie:name、value、domain、path、secure、httpOnly、expirationDate、sameSiteА.
Если используетсяcookieDataЭто должна быть строка, воспроизводимая расширением браузера для экспорта текста JSON, Netscapecookies.txt& Запросить заголовок текстаa=1; b=2А.
нетdomainПри запуске файлов cookie доменное имя может быть экстраполировано только на основе первого инициализированного веб - сайта, рекомендуется явное заполнениеdomainА.
9. Обновление окружающей среды
Интерфейс обновления изменяет только отправленные поля; Пропущенное поле остается неизменным. Поддержка определения местоположенияid、profileId、seq、serialNumberАserial_numberА.
Правила перезаписи:
accountsВся группа покрыта,[]Очистить все счета;tagIdsВся группа покрыта,[]Очистить все этикетки;cookiesИлиcookieDataЗамена cookie,nullОчистить;startupUrlsЗамена всех загрузочных сайтов,[]Очистить;groupId:nullУдалить группировку;proxy:nullИлиproxyId:nullОсвободить агента.
curl --location 'http://127.0.0.1:50325/browser/update' \
--header 'Content-Type: application/json' \
--data '{
"id":"环境ID",
"name":"更新后的环境",
"remark":"完整更新示例",
"groupId":"分组ID",
"tagIds":["标签ID"],
"accounts":[
{
"platform":"google",
"username":"[email protected]",
"password":"new-password",
"openOnStart":false
}
],
"cookies":[
{
"name":"session_id",
"value":"new-cookie-value",
"domain":".example.com",
"path":"/"
}
],
"startupUrls":["https://example.com/dashboard"],
"proxyId":"已有代理ID"
}'Изменить текущую среду прокси, Cookie、 После запуска веб - сайта или отпечатков пальцев сначала закройте среду, а затем снова откройте.
10. Окружающая среда запросов
Список окружающей среды
curl --location 'http://127.0.0.1:50325/browser/list' \
--header 'Content-Type: application/json' \
--data '{"page":0,"pageSize":10,"name":"","groupId":"分组ID","tagId":"标签ID"}'Поле фильтра, которое не требуется, удаляется напрямую.data.listЭто экологический массив,data.totalNumЭто общее количество; Объекты окружающей среды включаютgroupиtagsА.
Экологические подробности
curl --location 'http://127.0.0.1:50325/browser/detail' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Подробнее Вернутьсяgroup、tags、fingerprint、proxy、accountCount、hasCookieData.Владельцы окружающей среды также получатcookieDataА.
11. Удаление, рециркуляция и полное удаление
Удалить окружающую среду на станцию
curl --location 'http://127.0.0.1:50325/browser/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Если среда работает, сначала закройте браузер, а затем перейдите на станцию переработки. Эта операция может быть восстановлена.
Список рекуперационных станций
curl --location 'http://127.0.0.1:50325/browser/recycle/list' \
--header 'Content-Type: application/json' \
--data '{"page":0,"pageSize":10,"search":"","sort":"desc"}'Окружающая среда в спискеidМожет использоваться для восстановления или полного удаления.
Восстановление окружающей среды
curl --location 'http://127.0.0.1:50325/browser/restore' \
--header 'Content-Type: application/json' \
--data '{"id":"回收站环境ID"}'Для восстановления необходимо использовать идентификатор окружающей среды, а не просто передавать серийный номер окружающей среды.
Полностью удалить окружающую среду
Индивидуально:
curl --location 'http://127.0.0.1:50325/browser/delete/permanent' \
--header 'Content-Type: application/json' \
--data '{"id":"回收站环境ID"}'Серия:
curl --location 'http://127.0.0.1:50325/browser/delete/permanent' \
--header 'Content-Type: application/json' \
--data '{"ids":["环境ID1","环境ID2"]}'idsМаксимум 500. Они просто удаляют окружающую среду, которая уже находится на перерабатывающей станции,data.purgedФактическое количество удалений.
Полное удаление невосстановимо, конфигурация среды, учетная запись и файлы cookie удаляются навсегда.
12. Окружающая среда открытия, запроса и закрытия
Открыть окружение
curl --location 'http://127.0.0.1:50325/browser/open' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID","headless":false}'headlessЭто должно быть логическое значение JSON. Возвращение ответаpid、wsАhttp、headless*wsМожно использовать Playwright или Puppeteer.
Состояние работы
curl --location 'http://127.0.0.1:50325/browser/active' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Безпараметрический вызов/browser/activeВозвращение в полную операционную среду. Запуск списка:
curl --location 'http://127.0.0.1:50325/browser/running' \
--header 'Content-Type: application/json' \
--data '{}'Порты PID и CDP
curl --location 'http://127.0.0.1:50325/browser/pids' \
--header 'Content-Type: application/json' \
--data '{"ids":["环境ID1","环境ID2"]}'curl --location 'http://127.0.0.1:50325/browser/pids/all' \
--header 'Content-Type: application/json' \
--data '{}'curl --location 'http://127.0.0.1:50325/browser/ports' \
--header 'Content-Type: application/json' \
--data '{}'Закрыть окружающую среду
curl --location 'http://127.0.0.1:50325/browser/close' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Закрыть все:
curl --location 'http://127.0.0.1:50325/browser/close/all' \
--header 'Content-Type: application/json' \
--data '{}'Закрытие всех повлияет на все текущие рабочие окна, сохраните содержимое страницы перед выполнением.
13 Использование Postman
Импорт в Центр помощи https://www.postman.com/ovo-desktop-api/workspace/ovodesktop-api-example/collection/57777046-8485fa5f-3e60-4da9-8b59-538ae4703339?action=share&source=copy-link&creator=57777046.
Подтверждение в коллекции Variables
baseUrl*Запуск « проверки здоровья»;
Запустить « Список среды» для подтверждения восстановления сеанса;
Каждый запрос содержит описание использования, описание поля, полный пример JSON Body и cURL;
Если вам нужна полная демонстрация, запустите ее в порядке папки, не нужно понимать серийный номер среды или вручную поддерживать сложные переменные;
Перед выполнением « среды полного удаления» убедитесь, что целью является тестовая среда, которая позволяет постоянно удалять.
14. Частые ошибки
| Явление | Причины и обработка |
|---|---|
ECONNREFUSED | Клиент не запущен, локальный API не запущен или ошибка порта |
| Проверка здоровья прошла успешно, экологический интерфейс не удался | Ожидание возобновления сеанса учётной записи и рабочей области |
ID или SEQ Обязательно | Запрос без поля определения местоположения окружающей среды, рекомендуетсяid |
| Кластеры или вкладки не существуют | Сначала вызовите интерфейс списка, чтобы подтвердить, что идентификатор принадлежит текущей учетной записи. |
Неверный параметр proxy | Проверьте протокол, хост, порт и убедитесь, что одновременной передачи не былоproxyиproxyId |
| Не удалось переключить headless | Сначала закройте окружение, а затем откройте по новому режиму. |
Полностью удалить возвратpurged: 0 | Окружающая среда не находится в хранилище, идентификатор не принадлежит текущей учетной записи или удален |