{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/vi/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Ví dụ về tài nguyên được chia sẻ","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"ví-dụ-về-tài-nguyên-được-chia-sẻ","__idx":0},"children":["Ví dụ về tài nguyên được chia sẻ"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Các ví dụ hoạt động để quản lý proxy, nhóm và thẻ - được chia sẻ trên Cấu hình trình duyệt và Điện thoại đám mây."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL cơ sở"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quản-lý-proxy","__idx":1},"children":["Quản lý proxy"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"cuộn-tròn","__idx":2},"children":["cuộn tròn"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# List proxies\ncurl -X POST http://127.0.0.1:40000/api/proxyInfo/page \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"pageNo\": 1, \"pageSize\": 10}'\n\n# Add a proxy\ncurl -X POST http://127.0.0.1:40000/api/proxyInfo/add \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"proxyName\": \"US Proxy 1\",\n    \"proxyType\": \"socks5\",\n    \"host\": \"proxy.example.com\",\n    \"port\": 1080,\n    \"proxyUserName\": \"user\",\n    \"proxyPassword\": \"pass\"\n  }'\n\n# Delete a proxy\ncurl -X POST http://127.0.0.1:40000/api/proxyInfo/delete \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"proxyId\": \"PROXY_ID\"}'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"python","__idx":3},"children":["Python"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\nBASE = \"http://127.0.0.1:40000\"\n\n# Add multiple proxies\nproxies = [\n    {\"proxyName\": \"US-1\", \"proxyType\": \"socks5\", \"host\": \"us1.proxy.com\", \"port\": 1080},\n    {\"proxyName\": \"UK-1\", \"proxyType\": \"http\", \"host\": \"uk1.proxy.com\", \"port\": 8080},\n    {\"proxyName\": \"DE-1\", \"proxyType\": \"socks5\", \"host\": \"de1.proxy.com\", \"port\": 1080},\n]\n\nfor proxy in proxies:\n    resp = requests.post(f\"{BASE}/api/proxyInfo/add\", json=proxy)\n    print(f\"Added {proxy['proxyName']}: {resp.json()['code']}\")\n\n# List all proxies\nresp = requests.post(f\"{BASE}/api/proxyInfo/page\", json={\n    \"pageNo\": 1, \"pageSize\": 100\n})\nall_proxies = resp.json()[\"data\"][\"dataList\"]\nprint(f\"Total proxies: {len(all_proxies)}\")\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"nodejs","__idx":4},"children":["Node.js"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const axios = require('axios');\n\nconst BASE = 'http://127.0.0.1:40000';\n\nasync function main() {\n  // Add a proxy\n  const addResp = await axios.post(`${BASE}/api/proxyInfo/add`, {\n    proxyName: 'US Proxy',\n    proxyType: 'socks5',\n    host: 'proxy.example.com',\n    port: 1080,\n    proxyUserName: 'user',\n    proxyPassword: 'pass'\n  });\n  console.log('Proxy added:', addResp.data);\n\n  // List all proxies\n  const listResp = await axios.post(`${BASE}/api/proxyInfo/page`, {\n    pageNo: 1, pageSize: 100\n  });\n  console.log(`Total proxies: ${listResp.data.data.dataList.length}`);\n}\n\nmain().catch(console.error);\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quản-lý-nhóm","__idx":5},"children":["Quản lý nhóm"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"python-1","__idx":6},"children":["Python"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\nBASE = \"http://127.0.0.1:40000\"\n\n# Create a group\nresp = requests.post(f\"{BASE}/api/envgroup/create\", json={\n    \"groupName\": \"Production\"\n})\ngroup_id = resp.json()[\"data\"]\nprint(f\"Created group: {group_id}\")\n\n# List all groups\nresp = requests.post(f\"{BASE}/api/envgroup/page\", json={\n    \"pageNo\": 1, \"pageSize\": 50\n})\ngroups = resp.json()[\"data\"][\"dataList\"]\nfor g in groups:\n    print(f\"  {g['groupId']}: {g['groupName']}\")\n\n# Update group name\nrequests.post(f\"{BASE}/api/envgroup/edit\", json={\n    \"groupId\": group_id,\n    \"groupName\": \"Production-v2\"\n})\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quản-lý-thẻ","__idx":7},"children":["Quản lý thẻ"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"python-2","__idx":8},"children":["Python"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\nBASE = \"http://127.0.0.1:40000\"\n\n# Create tags\nfor tag_name in [\"web-scraping\", \"social-media\", \"e-commerce\"]:\n    resp = requests.post(f\"{BASE}/api/envtag/create\", json={\n        \"tagName\": tag_name\n    })\n    print(f\"Created tag '{tag_name}': {resp.json()['code']}\")\n\n# List all tags\nresp = requests.post(f\"{BASE}/api/envtag/all\", json={})\ntags = resp.json()[\"data\"]\nprint(f\"Total tags: {len(tags)}\")\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"hoàn-thành-quy-trình-làm-việc-tạo-tài-nguyên--gán-cho-hồ-sơ","__idx":9},"children":["Hoàn thành quy trình làm việc: Tạo tài nguyên → Gán cho hồ sơ"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\nBASE = \"http://127.0.0.1:40000\"\n\n# 1. Create a proxy\nresp = requests.post(f\"{BASE}/api/proxyInfo/add\", json={\n    \"proxyName\": \"My Proxy\",\n    \"proxyType\": \"socks5\",\n    \"host\": \"proxy.example.com\",\n    \"port\": 1080\n})\nproxy_id = resp.json()[\"data\"]\n\n# 2. Create a group\nresp = requests.post(f\"{BASE}/api/envgroup/create\", json={\n    \"groupName\": \"Automation\"\n})\ngroup_id = resp.json()[\"data\"]\n\n# 3. Create a browser profile with proxy and group\nresp = requests.post(f\"{BASE}/api/env/create/quick\", json={\n    \"name\": \"automated-profile\",\n    \"groupId\": group_id,\n    \"proxyInfo\": {\n        \"proxyId\": proxy_id\n    }\n})\nenv_id = resp.json()[\"data\"][\"envId\"]\nprint(f\"Profile {env_id} created with proxy {proxy_id} in group {group_id}\")\n","lang":"python"},"children":[]}]},"headings":[{"value":"Ví dụ về tài nguyên được chia sẻ","id":"ví-dụ-về-tài-nguyên-được-chia-sẻ","depth":1},{"value":"Quản lý proxy","id":"quản-lý-proxy","depth":2},{"value":"cuộn tròn","id":"cuộn-tròn","depth":3},{"value":"Python","id":"python","depth":3},{"value":"Node.js","id":"nodejs","depth":3},{"value":"Quản lý nhóm","id":"quản-lý-nhóm","depth":2},{"value":"Python","id":"python-1","depth":3},{"value":"Quản lý thẻ","id":"quản-lý-thẻ","depth":2},{"value":"Python","id":"python-2","depth":3},{"value":"Hoàn thành quy trình làm việc: Tạo tài nguyên → Gán cho hồ sơ","id":"hoàn-thành-quy-trình-làm-việc-tạo-tài-nguyên--gán-cho-hồ-sơ","depth":2}],"frontmatter":{"seo":{"title":"Ví dụ về tài nguyên được chia sẻ"}},"lastModified":"2026-06-10T11:47:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/vi/api-reference/examples/shared-examples","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}