上一篇 下一篇 分享链接 返回 返回顶部

AI浏览器API怎么接?从鉴权到curl、Python完整调用示例

发布人:慈云数据-客服中心 发布时间:15小时前 阅读量:2

AI浏览器 API接口调用教程|附完整命令

随着大模型能力不断增强,“AI浏览器”正在成为企业自动化办公、数据采集、智能检索、网页操作和业务流程自动化的重要工具。相比传统浏览器,AI浏览器通常不仅能打开网页,还可以通过自然语言理解用户意图,自动完成搜索、点击、填写表单、总结网页、提取结构化数据等任务。

对于开发者来说,如果AI浏览器提供了API接口,就意味着我们可以把“浏览器自动化能力”和“AI理解能力”集成到自己的系统中,例如:

  • 自动打开指定网页并完成信息提取;
  • 批量访问网页并生成摘要;
  • 模拟用户操作完成表单填写;
  • 根据网页内容生成结构化JSON数据;
  • 将AI浏览器接入企业CRM、ERP、知识库或内部工作流;
  • 搭建一个具备网页访问能力的AI Agent。

本文将以通用AI浏览器API为例,完整讲解接口调用流程,并提供可直接参考的命令示例。由于不同厂商的AI浏览器API地址、鉴权方式和参数名称可能略有不同,本文中的接口地址以示例形式展示,你可以根据实际服务商文档进行替换。


一、什么是AI浏览器API?

AI浏览器API可以理解为一种“远程控制AI浏览器”的接口。开发者通过HTTP请求,把任务发送给AI浏览器服务,AI浏览器在云端或本地执行相应操作,然后将结果返回给调用方。

一个典型的AI浏览器API调用流程如下:

  1. 开发者获取API Key;
  2. 使用API Key进行身份认证;
  3. 向AI浏览器发送任务请求;
  4. AI浏览器执行网页访问、内容理解或页面操作;
  5. 返回执行结果、网页摘要、截图、结构化数据或任务状态;
  6. 开发者在自己的业务系统中处理返回结果。

例如,你可以发送这样一句任务:

打开 https://example.com,提取页面标题、正文摘要和所有链接,返回JSON格式

AI浏览器收到请求后,会自动打开网页、读取内容、理解结构,并返回类似下面的结果:

{
  "title": "Example Domain",
  "summary": "这是一个用于示例说明的网页。",
  "links": [
    "https://www.iana.org/domains/example"
  ]
}

二、调用前准备

在正式调用API之前,通常需要完成以下准备工作。

1. 获取API Key

大多数AI浏览器API都会采用API Key进行鉴权。你需要登录服务商后台,在开发者中心或API管理页面创建一个密钥。

示例:

API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

在实际开发中,不建议将API Key直接写死在代码里,推荐通过环境变量管理。

Linux / macOS:

export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"

Windows PowerShell:

$env:AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"

2. 确认API基础地址

假设AI浏览器API基础地址为:

https://api.example-ai-browser.com/v1

常见接口可能包括:

接口功能 请求路径 请求方法
创建浏览任务 /browser/tasks POST
查询任务状态 /browser/tasks/{task_id} GET
取消任务 /browser/tasks/{task_id} DELETE
网页摘要 /browser/summarize POST
网页数据提取 /browser/extract POST
截图接口 /browser/screenshot POST
AI网页操作 /browser/agent POST

注意:以上路径仅为教程示例,实际路径请以你的AI浏览器服务商文档为准。


三、通用请求格式说明

AI浏览器API一般采用RESTful风格,请求格式多为JSON。

请求头示例

Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

请求体示例

{
  "url": "https://example.com",
  "task": "提取网页标题、摘要和所有链接",
  "output_format": "json"
}

返回结果示例

{
  "success": true,
  "task_id": "task_123456",
  "status": "completed",
  "data": {
    "title": "Example Domain",
    "summary": "This domain is for use in illustrative examples.",
    "links": [
      "https://www.iana.org/domains/example"
    ]
  }
}

四、使用curl调用AI浏览器API

curl是最常见的接口调试工具,适合快速验证API是否可用。

1. 创建一个网页摘要任务

下面命令会请求AI浏览器打开指定网页,并生成中文摘要。

curl -X POST "https://api.example-ai-browser.com/v1/browser/summarize" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "language": "zh-CN",
    "summary_length": "medium"
  }'

参数说明:

参数 类型 说明
url string 需要访问的网页地址
language string 摘要语言,例如zh-CN
summary_length string 摘要长度,可选shortmediumlong

2. 提取网页结构化数据

如果你希望AI浏览器根据网页内容提取指定字段,可以使用类似接口:

curl -X POST "https://api.example-ai-browser.com/v1/browser/extract" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://news.ycombinator.com/",
    "instruction": "提取页面前10条新闻的标题、链接和排名",
    "schema": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rank": { "type": "number" },
              "title": { "type": "string" },
              "url": { "type": "string" }
            },
            "required": ["rank", "title", "url"]
          }
        }
      },
      "required": ["items"]
    }
  }'

这里的关键参数是instructionschema

  • instruction用于告诉AI浏览器你想提取什么;
  • schema用于约束返回结构,降低结果不稳定的问题。

返回示例:

{
  "success": true,
  "data": {
    "items": [
      {
        "rank": 1,
        "title": "Example News Title",
        "url": "https://example.com/news/1"
      }
    ]
  }
}

3. 让AI浏览器执行网页操作

AI浏览器的核心价值之一,是可以根据自然语言自动完成操作。例如打开网站、搜索关键词、点击按钮并返回结果。

curl -X POST "https://api.example-ai-browser.com/v1/browser/agent" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "打开百度,搜索“AI浏览器 API接口调用教程”,返回搜索结果前5条的标题和链接",
    "max_steps": 8,
    "output_format": "json"
  }'

参数说明:

参数 类型 说明
task string 通过自然语言描述浏览器需要完成的任务
max_steps number 最大执行步骤数,防止任务无限执行
output_format string 返回格式,例如jsonmarkdown

4. 获取网页截图

部分AI浏览器API支持远程截图。适合用于页面监控、自动验收、内容存档等场景。

curl -X POST "https://api.example-ai-browser.com/v1/browser/screenshot" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "full_page": true,
    "viewport": {
      "width": 1440,
      "height": 900
    }
  }'

返回结果可能包含图片URL或Base64内容:

{
  "success": true,
  "image_url": "https://cdn.example-ai-browser.com/screenshots/abc123.png"
}

五、使用Python调用AI浏览器API

在实际项目中,Python非常适合做自动化任务、数据采集、AI Agent编排和后端服务集成。

1. 安装依赖

pip install requests

2. 调用网页摘要接口

import os
import requests

API_KEY = os.getenv("AI_BROWSER_API_KEY")
BASE_URL = "https://api.example-ai-browser.com/v1"

url = f"{BASE_URL}/browser/summarize"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "url": "https://example.com",
    "language": "zh-CN",
    "summary_length": "medium"
}

response = requests.post(url, headers=headers, json=payload, timeout=60)

if response.status_code == 200:
    result = response.json()
    print(result)
else:
    print("请求失败:", response.status_code, response.text)

3. 封装为通用函数

在工程项目中,建议将API调用封装成函数,便于复用。

import os
import requests

class AIBrowserClient:
    def __init__(self, api_key=None, base_url=None):
        self.api_key = api_key or os.getenv("AI_BROWSER_API_KEY")
        self.base_url = base_url or "https://api.example-ai-browser.com/v1"

        if not self.api_key:
            raise ValueError("缺少API Key,请设置AI_BROWSER_API_KEY环境变量")

        self.headers = {
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json"
        }

    def summarize(self, page_url, language="zh-CN", summary_length="medium"):
        endpoint = f"{self.base_url}/browser/summarize"
        payload = {
            "url": page_url,
            "language": language,
            "summary_length": summary_length
        }
        response = requests.post(endpoint, headers=self.headers, json=payload, timeout=60)
        response.raise_for_status()
        return response.json()

    def extract(self, page_url, instruction, schema=None):
        endpoint = f"{self.base_url}/browser/extract"
        payload = {
            "url": page_url,
            "instruction": instruction
        }
        if schema:
            payload["schema"] = schema

        response = requests.post(endpoint, headers=self.headers, json=payload, timeout=90)
        response.raise_for_status()
        return response.json()

    def agent(self, task, max_steps=10):
        endpoint = f"{self.base_url}/browser/agent"
        payload = {
            "task": task,
            "max_steps": max_steps,
            "output_format": "json"
        }
        response = requests.post(endpoint, headers=self.headers, json=payload, timeout=120)
        response.raise_for_status()
        return response.json()


if __name__ == "__main__":
    client = AIBrowserClient()

    result = client.summarize("https://example.com")
    print(result)

    extract_result = client.extract(
        "https://news.ycombinator.com/",
        "提取首页前5条新闻标题和链接"
    )
    print(extract_result)

六、使用Node.js调用AI浏览器API

如果你的项目是前端工程、Node后端或Serverless函数,也可以使用JavaScript调用AI浏览器API。

1. 初始化项目

mkdir ai-browser-demo
cd ai-browser-demo
npm init -y
npm install axios

2. 创建调用脚本

新建文件index.js

const axios = require("axios");

const API_KEY = process.env.AI_BROWSER_API_KEY;
const BASE_URL = "https://api.example-ai-browser.com/v1";

if (!API_KEY) {
  throw new Error("缺少API Key,请设置 AI_BROWSER_API_KEY 环境变量");
}

async function summarize(url) {
  const response = await axios.post(
    `${BASE_URL}/browser/summarize`,
    {
      url,
      language: "zh-CN",
      summary_length: "medium"
    },
    {
      headers: {
        Authorization: `Bearer ${API_KEY}`,
        "Content-Type": "application/json"
      },
      timeout: 60000
    }
  );

  return response.data;
}

async function run() {
  try {
    const result = await summarize("https://example.com");
    console.log(JSON.stringify(result, null, 2));
  } catch (error) {
    if (error.response) {
      console.error("接口错误:", error.response.status, error.response.data);
    } else {
      console.error("请求异常:", error.message);
    }
  }
}

run();

3. 执行脚本

Linux / macOS:

export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
node index.js

Windows PowerShell:

$env:AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
node index.js

七、异步任务接口调用方式

有些AI浏览器任务比较耗时,例如需要多步骤点击、登录后访问、批量抓取或生成完整网页报告。这类接口通常不会立即返回最终结果,而是先返回一个task_id,然后由开发者轮询任务状态。

1. 创建异步任务

curl -X POST "https://api.example-ai-browser.com/v1/browser/tasks" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "访问指定网站,提取产品列表中前20个商品的名称、价格和详情页链接",
    "start_url": "https://example-shop.com",
    "output_format": "json"
  }'

返回示例:

{
  "success": true,
  "task_id": "task_abc123",
  "status": "queued"
}

2. 查询任务状态

curl -X GET "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY"

可能返回:

{
  "success": true,
  "task_id": "task_abc123",
  "status": "running",
  "progress": 60
}

完成后返回:

{
  "success": true,
  "task_id": "task_abc123",
  "status": "completed",
  "data": {
    "products": [
      {
        "name": "示例商品",
        "price": "99.00",
        "url": "https://example-shop.com/products/1"
      }
    ]
  }
}

3. 取消任务

curl -X DELETE "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY"

八、流式返回接口调用示例

部分AI浏览器API支持流式输出,适合实时展示执行过程。例如AI浏览器正在打开网页、分析页面、点击按钮、提取结果等,都可以逐步返回。

curl流式调用

curl -N -X POST "https://api.example-ai-browser.com/v1/browser/agent/stream" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "打开example.com,分析页面内容并用中文总结",
    "max_steps": 5
  }'

其中-N表示关闭curl缓冲,让结果实时输出。

返回内容可能类似:

event: step
data: {"message":"正在打开网页..."}

event: step
data: {"message":"正在读取页面内容..."}

event: result
data: {"summary":"这是一个用于示例展示的网页。"}

九、常见错误码与解决方法

调用AI浏览器API时,常见错误通常集中在鉴权、参数、额度、网络和任务执行失败等方面。

状态码 含义 解决方法
400 请求参数错误 检查JSON格式、必填字段、字段类型
401 未认证 检查API Key是否正确、请求头是否包含Authorization
403 无权限 确认账号权限、套餐权限或接口是否开通
404 接口不存在 检查API路径、版本号和请求方法
408 请求超时 增加timeout或改用异步任务接口
429 请求过于频繁 降低并发、增加重试间隔、升级额度
500 服务端错误 稍后重试或联系服务商
502/503 服务不可用 增加重试机制,避免高峰期集中请求

十、生产环境调用建议

1. 不要在前端暴露API Key

如果直接在浏览器前端代码中调用AI浏览器API,API Key可能会被用户查看到,从而造成额度被盗用或数据泄露。推荐做法是:

前端页面 → 你的后端服务 → AI浏览器API

由后端统一保存和调用API Key。


2. 设置超时时间

AI浏览器任务通常比普通文本接口更耗时,因此必须设置合理超时时间。

Python示例:

requests.post(url, headers=headers, json=payload, timeout=90)

Node.js示例:

axios.post(url, data, { timeout: 90000 });

3. 增加重试机制

对于临时网络异常、限流或服务端错误,可以加入指数退避重试。

Python示例:

import time
import requests

def post_with_retry(url, headers, payload, retries=3):
    for i in range(retries):
        try:
            response = requests.post(url, headers=headers, json=payload, timeout=60)

            if response.status_code in [429, 500, 502, 503]:
                wait_time = 2 ** i
                time.sleep(wait_time)
                continue

            response.raise_for_status()
            return response.json()

        except requests.RequestException as e:
            if i == retries - 1:
                raise e
            time.sleep(2 ** i)

4. 对返回结果做校验

即使使用了AI能力,返回结果也可能受网页结构变化、网络状态、页面权限等因素影响。因此生产环境中一定要做结果校验。

例如:

result = client.extract(
    "https://news.ycombinator.com/",
    "提取前5条新闻标题和链接"
)

items = result.get("data", {}).get("items", [])

if not items:
    raise ValueError("未提取到有效数据")

for item in items:
    if "title" not in item or "url" not in item:
        raise ValueError("返回数据字段不完整")

十一、典型应用场景

1. 自动网页摘要

企业可以定时抓取行业新闻、竞品动态、政策公告,并自动生成摘要推送到企业微信、飞书或邮件。

2. 智能数据提取

传统爬虫依赖页面结构,一旦网页DOM变化就容易失效。AI浏览器可以通过语义理解页面内容,更适合提取非标准化网页信息。

3. 自动化网页操作

例如自动登录后台、查询订单状态、导出报表、填写申请表等。AI浏览器可以根据自然语言任务执行多步骤操作。

4. AI Agent网页能力扩展

如果你正在开发AI Agent,可以把AI浏览器API作为一个工具,让Agent具备真实网页访问和操作能力。

5. 页面监控和质量检测

通过截图、内容提取和AI分析,可以自动检测网页是否异常、价格是否变化、页面内容是否更新。


十二、完整命令汇总

下面整理一组常用命令,方便复制使用。

设置环境变量

export AI_BROWSER_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"

网页摘要

curl -X POST "https://api.example-ai-browser.com/v1/browser/summarize" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "language": "zh-CN",
    "summary_length": "medium"
  }'

数据提取

curl -X POST "https://api.example-ai-browser.com/v1/browser/extract" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "instruction": "提取网页标题、正文摘要和所有链接",
    "output_format": "json"
  }'

AI浏览器自动操作

curl -X POST "https://api.example-ai-browser.com/v1/browser/agent" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "打开example.com,阅读页面内容,并用中文总结",
    "max_steps": 6,
    "output_format": "json"
  }'

创建异步任务

curl -X POST "https://api.example-ai-browser.com/v1/browser/tasks" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": "访问目标网页并提取主要内容",
    "start_url": "https://example.com",
    "output_format": "json"
  }'

查询任务状态

curl -X GET "https://api.example-ai-browser.com/v1/browser/tasks/task_abc123" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY"

获取网页截图

curl -X POST "https://api.example-ai-browser.com/v1/browser/screenshot" \
  -H "Authorization: Bearer $AI_BROWSER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "full_page": true,
    "viewport": {
      "width": 1440,
      "height": 900
    }
  }'

十三、总结

AI浏览器API的价值在于,它把传统浏览器自动化、网页内容理解和大模型推理能力结合在一起。开发者不再只能依赖固定选择器或复杂脚本,而是可以通过自然语言描述任务,让AI浏览器完成访问网页、分析内容、提取数据、执行点击和生成结果等操作。

在实际接入时,建议你重点关注以下几点:

  1. 使用环境变量保存API Key,避免密钥泄露;
  2. 优先用curl验证接口可用性;
  3. 对耗时任务使用异步接口;
  4. 对高频任务增加限流和重试;
  5. 对AI返回结果进行结构校验;
  6. 根据业务场景选择摘要、提取、截图或Agent接口;
  7. 生产环境中不要把API Key暴露在前端。

通过本文提供的完整命令和代码示例,你可以快速完成AI浏览器API的基础接入,并进一步扩展到自动化办公、智能数据采集、网页监控和AI Agent工具调用等真实业务场景中。

目录结构
全文