Hướng dẫn sử dụng Local API của OvoBrowser
Sử dụng API HTTP cục bộ để quản lý môi trường, nhóm, thẻ, proxy, thùng rác và quy trình trình duyệt với các trường đầy đủ so với các ví dụ cURL.
Hướng dẫn sử dụng OvoBrowser Local API
OvoBrowser Local API được sử dụng để quản lý môi trường trình duyệt, nhóm, nhãn, proxy, thùng rác và quy trình trình duyệt tại địa phương. Giao diện chỉ nghe127.0.0.1Không cần Token, Bearer Tokenx-api-key。
1. Cách bắt đầu
Khởi động tự động ở cuối màn hình nền
Sau khi đăng nhập tài khoản thành công, API cục bộ sẽ tự động khởi động và lưu cổng hiện tại. Nó cũng sẽ tự động khởi động sau khi khôi phục phiên lưu tiếp theo thành công. Địa chỉ mặc định:
http://127.0.0.1:50325Cổng thực tế tùy thuộc vào trang "API&MCP" của khách hàng. Google、GitHub、 Đăng nhập mật khẩu tài khoản và đăng ký mời cuối cùng đều thành lập cùng một phiên đăng nhập, cho nên sau khi vào tài khoản thành công đều khởi động API cục bộ.
Nếu dịch vụ được dừng thủ công trong máy khách, cổng hiện tại sẽ đóng ngay lập tức; Nó vẫn sẽ tự động khởi động vào lần đăng nhập tiếp theo hoặc khi phiên tiếp tục thành công.
Mô hình CLI
Bắt đầu bằng cách đăng nhập thành công một lần ở phía máy tính để bàn và duy trì trạng thái đăng nhập, sau đó thực hiện:
& "C:\Program Files\ovoBrowser\ovoBrowser.exe" --cli --api-port 50325Đường dẫn chương trình phụ thuộc vị trí cài đặt thực tế.--api-portCó thể bỏ qua và sử dụng cổng đã lưu khi bỏ qua. CLI ghép kênh các phiên tài khoản được lưu trữ an toàn trong hệ điều hành và không nhận mật khẩu tài khoản dòng lệnh hoặc token.
"Keep Login" có nghĩa là không có nhấp chuột để thoát khỏi đăng nhập ở phía máy tính để bàn và phiên lưu vẫn hoạt động. Nếu bạn đã thoát đăng nhập, phiên hết hạn hoặc dữ liệu ứng dụng bị xóa, bạn cần bật lại đăng nhập phía máy tính để bàn; Đăng nhập Google/GitHub cũng được thực hiện ở phía máy tính để bàn.
2. Quy tắc gọi
Tất cả các interface được sử dụng
POSTTham số được đặt trong JSON Body.Sử dụng đầu yêu cầu
Content-Type: application/json。Định vị môi trường Đề nghị sử dụng
idHầu hết các giao diện cũng hỗ trợseqsố môi trường.Thông số phân trang
pageTừ0Bắt đầu,pageSizePhạm vi là1-100。Số tài khoản, cookie, khóa 2FA và mật khẩu proxy là thông tin nhạy cảm và không được ghi vào nhật ký công khai.
Phản hồi thành công:
{"success":true,"data":{}}Phản ứng thất bại:
{"success":false,"msg":"失败原因"}3. Tổng quan giao diện
| phân loại | Giao diện | Tác dụng |
|---|---|---|
| dịch vụ | /health | Kiểm tra xem API cục bộ có đang chạy không |
| Môi trường | /browser/list | Danh sách môi trường, hỗ trợ nhóm và lọc nhãn |
| Môi trường | /browser/detail | Chi tiết môi trường |
| Môi trường | /browser/create | Tạo môi trường hỗ trợ đầy đủ các lĩnh vực |
| Môi trường | /browser/update | Cập nhật môi trường, hỗ trợ các lĩnh vực đầy đủ |
| Thùng rác | /browser/recycle/list | Danh sách thùng rác |
| Thùng rác | /browser/delete | Xóa môi trường vào Recycle Bin |
| Thùng rác | /browser/restore | Phục hồi môi trường |
| Thùng rác | /browser/delete/permanent | Xóa hoàn toàn môi trường Recycle Bin |
| Nhóm | /group/list、/group/create、/group/update、/group/delete | Chia nhóm, xóa, kiểm tra. |
| Thẻ | /tag/list、/tag/create、/tag/update、/tag/delete | Thay đổi nhãn hiệu |
| Đại lý | /proxy/list、/proxy/create、/proxy/update | Quản lý proxy có thể tái sử dụng |
| chạy | /browser/open、/browser/active、/browser/running | Mở và truy vấn trạng thái chạy |
| chạy | /browser/pids、/browser/pids/all、/browser/ports | Cổng PID và CDP |
| chạy | /browser/close、/browser/close/all | Đóng môi trường |
4. Kiểm tra sức khỏe
curl --location 'http://127.0.0.1:50325/health' \
--header 'Content-Type: application/json' \
--data '{}'trở vềdata.running=trueNghĩa là cổng đã được khởi động. Gọi lại danh sách môi trường để xác nhận rằng phiên tài khoản và workspace đã được khôi phục.
5. API nhóm
Nhóm được sử dụng để phân loại radio: một môi trường thuộc về tối đa một nhóm, thông quagroupIdRàng buộc.
Danh sách nhóm
curl --location 'http://127.0.0.1:50325/group/list' \
--header 'Content-Type: application/json' \
--data '{}'data.listLà một mảng nhóm,_count.profilesĐó là số lượng môi trường trong một gói.
Nhóm mới
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
name | string | là | 1-50 ký tự, không thể trùng tên trong cùng một tài khoản |
color | string | không | #RRGGBBMặc định#3478F6 |
curl --location 'http://127.0.0.1:50325/group/create' \
--header 'Content-Type: application/json' \
--data '{"name":"电商账号","color":"#3478F6"}'Sửa nhóm
idVàgroupIdBạn có thể định vị các nhóm. Ngoài các trường định vị, chỉ các trường cần thay đổi được truyền đi.
curl --location 'http://127.0.0.1:50325/group/update' \
--header 'Content-Type: application/json' \
--data '{"id":"分组ID","name":"重要电商账号","color":"#16A34A"}'Xoá nhóm
curl --location 'http://127.0.0.1:50325/group/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"分组ID"}'Xóa gói không xóa môi trường, môi trường bên dưới gói ban đầu trở thành không được nhóm. Các gói mặc định của hệ thống không thể bị xóa.
6. Nhãn API
Thẻ được sử dụng cho các thẻ đa lựa chọn: tối đa 20 thẻ được ràng buộc trong một môi trường, thông quatagIdsArray Binding (Ràng buộc mảng)
Danh sách thẻ
curl --location 'http://127.0.0.1:50325/tag/list' \
--header 'Content-Type: application/json' \
--data '{}'Thẻ mới
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
name | string | là | 1-50 ký tự, không thể trùng tên trong cùng một tài khoản |
color | string | không | #RRGGBBMặc định#3478F6 |
curl --location 'http://127.0.0.1:50325/tag/create' \
--header 'Content-Type: application/json' \
--data '{"name":"高优先级","color":"#F97316"}'Sửa thẻ
curl --location 'http://127.0.0.1:50325/tag/update' \
--header 'Content-Type: application/json' \
--data '{"id":"标签ID","name":"VIP","color":"#A855F7"}'Xoá thẻ
curl --location 'http://127.0.0.1:50325/tag/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"标签ID"}'Xóa một nhãn sẽ loại bỏ nó khỏi tất cả các môi trường, nhưng không phải môi trường.
7. Đại lý API
Môi trường có thể tạo proxy tái sử dụng trướcproxyIdBạn cũng có thể truyền trực tiếp khi tạo hoặc cập nhật môi trườngproxyHai cách không thể sử dụng cùng một lúc.
Danh sách đại lý
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
page | integer | không | Bắt đầu từ 0 |
pageSize | integer | không | 1-100 |
search | string | không | Tìm kiếm theo tên hoặc máy chủ;nameTên khác tương thích |
status | string | không | UNCHECKED、AVAILABLE、UNAVAILABLE |
curl --location 'http://127.0.0.1:50325/proxy/list' \
--header 'Content-Type: application/json' \
--data '{"page":0,"pageSize":10,"search":""}'Trả về mật khẩu proxy hiện tạipasswordVàhasPasswordKhông trả lại mật văn phục vụ.
Thêm proxy mới
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
name | string | là | Tên đại diện, ký tự 1-80 |
protocol | string | là | HTTP、HTTPS、SOCKS5 |
host | string | là | Tên máy chủ hoặc IP, không có giao thức, đường dẫn và cổng |
port | integer | là | 1-65535 |
username | string/null | không | Tên người dùng xác thực |
password | string/null | không | Mật khẩu xác thực |
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"
}'Tác nhân biên tập
idVàproxyIdĐều có thể định vị đại lý. Bỏ quapasswordGiữ nguyên mật khẩu, chuyểnnullXóa mật khẩu.
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"}'Trạng thái phát hiện được đặt lại sau khi thay đổi giao thức, máy chủ, cổng, tên người dùng hoặc mật khẩuUNCHECKED。
8. Tạo môi trường
Mô tả trường đầy đủ
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
name | string | không | Tên môi trường, tối đa 80 ký tự |
platform | string | không | windows、macos、linux、android、ios; Mặc địnhwindows |
remark | string/null | không | Ghi chú môi trường Tối đa 500 ký tự |
groupId | string/null | không | ID gói;nullNghĩa là không nhóm |
tagIds | string[] | không | Mảng ID thẻ, tối đa 20 |
accounts | array | không | Số tài khoản, tối đa 20 |
cookies | array/object/string/null | không | Hướng dẫn sử dụng Cookie JSON |
cookieData | string/null | không | Văn bản cookie gốc; VớicookiesHai chọn một |
startupUrls | string[] | không | Địa chỉ web mở sau khi khởi động, tối đa 50 |
fingerprint | object | không | Cấu hình vân tay một phần hoặc đầy đủ; Bỏ qua mục tự động bổ sung |
proxyId | string/null | Điều kiện Tùy chọn | Đã có ID proxy; vàproxyHai chọn một |
proxy | object/null | Điều kiện Tùy chọn | Cấu hình trực tiếp môi trường proxy riêng |
accountsMỗi mục:
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
platform | string | là | Platform ví dụgoogle、amazon |
username | string | không | Đăng nhập tài khoản hoặc hộp thư |
password | string/null | không | Mật khẩu đăng nhập, tối đa 512 ký tự |
totpSecret | string/null | không | Khóa định dạng Base32 2FA |
openOnStart | boolean | không | Mở trang tài khoản khi khởi động môi trường, mặc địnhfalse |
remark | string/null | không | Ghi chú tài khoản, tối đa 200 ký tự |
Nội tuyếnproxy:
| trường | loại | Bắt buộc điền | giải thích |
|---|---|---|---|
type | string | là | HTTP、HTTPS、SOCKS5;protocolTên khác tương thích |
host | string | là | Host hoặchost:portĐề xuất IPv6[IPv6]:port |
port | integer | Điều kiện bắt buộc | hostBắt buộc khi không có cổng |
username | string/null | không | Tên người dùng xác thực |
password | string/null | không | Mật khẩu xác thực |
Ví dụ về Complete Creation
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"
}
}'Khi sử dụng một proxy hiện có, xóaproxyToàn bộ đoạn, truyền lại.ProxyId: Proxy ID đã tồn tạiKhi không sử dụng proxy,proxyVàproxyIdĐều không nên truyền.
Định dạng cookie
Đề nghị sử dụngcookiesTruyền trực tiếp mảng JSON. Các lĩnh vực phổ biến của cookie:name、value、domain、path、secure、httpOnly、expirationDate、sameSite。
Nếu sử dụngcookieDataNó phải là một chuỗi, có thể mở rộng trình duyệt để xuất văn bản JSON, Netscapecookies.txthoặc yêu cầu header texta=1; b=2。
không códomainCookie khởi chạy chỉ có thể suy ra tên miền dựa trên địa chỉ web khởi chạy đầu tiên, đề nghị điền rõ ràngdomain。
9. Cập nhật môi trường
Giao diện cập nhật chỉ sửa đổi các trường được gửi; Các lĩnh vực bị bỏ qua vẫn giữ nguyên. Hỗ trợ định vịid、profileId、seq、serialNumber、serial_number。
Quy tắc ghi đè:
accountsToàn bộ nhóm phủ sóng,[]Xóa sạch toàn bộ tài khoản;tagIdsToàn bộ nhóm phủ sóng,[]Xóa toàn bộ nhãn;cookieshoặccookieDataThay thế cookie,nullTrống rỗng;startupUrlsThay thế toàn bộ địa chỉ khởi động mạng,[]Trống rỗng;groupId:nullGiải nhóm;proxy:nullhoặcproxyId:nullGiải tán đặc vụ.
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"
}'Thay đổi môi trường vận hành, Cookie、 Sau khi bạn khởi chạy địa chỉ web hoặc dấu vân tay, hãy tắt môi trường trước khi mở lại.
10. Yêu cầu môi trường
Danh sách môi trường
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"}'Các trường lọc không mong muốn được loại bỏ trực tiếp.data.listLà một mảng môi trường,data.totalNumLà tổng số; Các đối tượng môi trường bao gồmgroupVàtags。
Chi tiết môi trường
curl --location 'http://127.0.0.1:50325/browser/detail' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Chi tiết trở lạigroup、tags、fingerprint、proxy、accountCount、hasCookieDataChủ sở hữu môi trường cũng nhận đượccookieData。
11. Xóa, thùng rác và xóa hoàn toàn
Xóa môi trường vào Recycle Bin
curl --location 'http://127.0.0.1:50325/browser/delete' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Nếu môi trường đang chạy, trình duyệt sẽ đóng trước khi chuyển vào thùng rác. Hoạt động này có thể được tiếp tục.
Danh sách thùng rác
curl --location 'http://127.0.0.1:50325/browser/recycle/list' \
--header 'Content-Type: application/json' \
--data '{"page":0,"pageSize":10,"search":"","sort":"desc"}'Môi trường trong danh sáchidCó thể được sử dụng để khôi phục hoặc xóa hoàn toàn.
Phục hồi môi trường
curl --location 'http://127.0.0.1:50325/browser/restore' \
--header 'Content-Type: application/json' \
--data '{"id":"回收站环境ID"}'Phục hồi phải sử dụng Environment ID và không thể chỉ truyền số sê-ri môi trường.
Xóa hoàn toàn môi trường
Độc thân:
curl --location 'http://127.0.0.1:50325/browser/delete/permanent' \
--header 'Content-Type: application/json' \
--data '{"id":"回收站环境ID"}'Số lượng lớn:
curl --location 'http://127.0.0.1:50325/browser/delete/permanent' \
--header 'Content-Type: application/json' \
--data '{"ids":["环境ID1","环境ID2"]}'idsTối đa 500 chiếc. Chỉ xóa môi trường đã có trong thùng rác,data.purgedLà số lượng xóa thực tế.
Xóa hoàn toàn không thể khôi phục và cấu hình môi trường, tài khoản và cookie sẽ bị xóa vĩnh viễn.
12. Mở, truy vấn và đóng môi trường
Mở môi trường
curl --location 'http://127.0.0.1:50325/browser/open' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID","headless":false}'headlessGiá trị Boolean JSON Trả lời returnpid、ws、http、headless;wsCó sẵn cho Playwright hoặc Puppeteer.
Trạng thái hoạt động
curl --location 'http://127.0.0.1:50325/browser/active' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Gọi không tham số/browser/activeTrở về toàn bộ môi trường chạy. Chạy danh sách:
curl --location 'http://127.0.0.1:50325/browser/running' \
--header 'Content-Type: application/json' \
--data '{}'Cổng PID và 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 '{}'Đóng môi trường
curl --location 'http://127.0.0.1:50325/browser/close' \
--header 'Content-Type: application/json' \
--data '{"id":"环境ID"}'Đóng tất cả:
curl --location 'http://127.0.0.1:50325/browser/close/all' \
--header 'Content-Type: application/json' \
--data '{}'Đóng tất cả ảnh hưởng đến tất cả các cửa sổ làm việc hiện tại, hãy lưu nội dung trang trước khi thực hiện.
Sử dụng Postman
Được cung cấp bởi Trung tâm trợ giúp nhập khẩu 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 :
Xác nhận trong Collection Variables
baseUrl;Thực hiện "kiểm tra sức khỏe";
Chạy danh sách môi trường để xác nhận rằng phiên đã được khôi phục;
Mỗi yêu cầu đi kèm với mục đích, mô tả trường, cơ thể JSON đầy đủ và ví dụ cURL;
Để trình bày đầy đủ, chạy theo thứ tự thư mục mà không cần phải hiểu số sê-ri môi trường hoặc duy trì các biến phức tạp bằng tay;
Trước khi thực hiện "Xóa hoàn toàn môi trường", hãy đảm bảo rằng mục tiêu là cho phép xóa vĩnh viễn môi trường thử nghiệm.
14 Sai lầm thường gặp
| hiện tượng | Nguyên nhân và điều trị |
|---|---|
ECONNREFUSED | Máy khách không chạy, API cục bộ không khởi động hoặc lỗi cổng |
| Kiểm tra sức khỏe thành công, giao diện môi trường thất bại | Thử lại sau khi tài khoản Session và Workspace được khôi phục |
ID hoặc seq Bắt buộc | Yêu cầu không có trường định vị môi trường, đề nghị gửiid |
| Nhóm hoặc thẻ không tồn tại | Gọi giao diện danh sách để xác nhận ID thuộc về tài khoản hiện tại. |
Tham số proxy không hợp lệ | Kiểm tra giao thức, máy chủ, cổng và xác nhận rằng không có chuyển đồng thờiproxyVàproxyId |
| Môi trường chạy không thể chuyển đổi headless | Tắt môi trường trước khi mở chế độ mới |
Xóa hoàn toànpurged: 0 | Môi trường không nằm trong thùng rác, ID không thuộc về tài khoản hiện tại hoặc đã bị xóa |