终结点:POST https://api.microsoft.ai/v3/browse
示例请求:
curl -X POST "https://api.microsoft.ai/v3/browse" \
-H "host: api.microsoft.ai" \
-H "x-apikey: <Your key>" \
-H "content-type: application/json" \
-d '{
"url": "https://news.microsoft.com/source/",
"maxLength": 3000,
"language": "en",
"region": "US",
"contentFormat": "html"
}'
Parameters
| 参数 | Required | 类型 | Default | Description |
|---|---|---|---|---|
| url | 是 | 字符串 | - | 要浏览的网页的 URL。 |
| maxLength(最大长度) | 否 | 整数 | 10000 | 响应中内容字段中的最大字符数。 最大值为 500000 个字符。 |
| liveCrawl | 否 | 字符串 | 无 | 控制实时爬网行为。 值:“none”(仅返回索引内容)、“回退”(如果索引中找不到 URL)、“force”(即使索引内容存在,也请求重新爬网)。 请注意,对于“none”值,如果在索引中找不到 URL,API 将返回 404 错误代码(找不到 URL)。 |
| includeWebLinks | 否 | boolean | false | 包括来自页面的出站超链接。 |
| renderDynamicPages | 否 | boolean | false | 为动态内容屏幕截图启用 JavaScript 呈现。 仅当 liveCrawl 设置为“回退”时才有效。 |
| includeImageLinks | 否 | boolean | false | 包括页面中的图像 URL。 |
| 语言 | 否 | 字符串 | “en” | 语言代码(2 字母 ISO 639-1)。 有关完整列表,请参阅 “支持的语言 ”。 |
| 区域 | 否 | 字符串 | "US" | 区域代码(2 字母国家/地区代码)。 有关完整列表,请参阅 “支持的区域 ”。 |
| contentFormat | 否 | 字符串 | “html” | 要返回的网页内容的格式。 可以是“text”、“html”或“markdown”。 |
请求标头
| 领域 | 类型 | Description |
|---|---|---|
| 主持人 | 字符串 | 适用于 Microsoft AI API 的主机:api.microsoft.ai. |
| x-apikey 或 授权 | 字符串 | API 密钥或Entra ID访问令牌进行身份验证。 |
| Content-Type | 字符串 | 请求正文的 MIME 类型。 使用 application/json。 |
响应
| 领域 | 类型 | Description |
|---|---|---|
| url | 字符串 | 网页的 URL。 |
| title | 字符串 | 网页的标题。 |
| 内容 | 字符串 | 网页(即地面)的提取内容。 |
| 最后更新时间 | 字符串 | 网页的上次更新时间遵循ISO8601格式。 |
| crawledAt | 字符串 | 网页的最后一个已爬网日期遵循ISO8601格式。 |
| liveCrawlSucceeded | 布尔值 (可选) | 仅当 false 成功请求 liveCrawl: "force" 返回过时页面时出现。 对于非过时页面,省略;从不发出为 true. 省略了 "none", "fallback"省略了/null 模式,然后重试 (202) 响应。 |
| traceId | 字符串 | 用于调试的跟踪 ID。 |
| retryAfter | 字符串 | 重试前等待的时间,格式为后缀的持续时间( "s" 例如, "60s" 表示等待 60 秒)。 仅在按需爬网正在进行时出现。 |
| isAdult | boolean | 指示网页是否包含成人内容。 |
Note
title、content、isAdultlastUpdatedAt和crawledAt字段仅在成功的 (200) 响应中存在。 重试 (202) 响应会省略它们。
例如,仅当返回过时内容时,才会包含"liveCrawlSucceeded": false成功请求"liveCrawl": "force"。 非过时页面省略此字段,而不是返回 true。 此字段在浏览 MCP 工具的结构化响应中具有相同的含义。
错误代码
| 状态代码 | 错误类别 | Description | 常见原因 |
|---|---|---|---|
| 200 | 成功 | 请求成功。 | - |
| 202 | Accepted | 已接受处理请求(实时爬网)。 | 正在进行的按需爬网 |
| 400 | 错误的请求 | 无效的请求参数。 | 缺少必填字段、无效参数值、格式不正确的 JSON |
| 401 | Unauthorized | 身份验证失败或缺失。 | API 密钥无效,缺少 x-apikey 标头 |
| 403 | 禁止 | 有效的凭据,但无法满足请求。 | API 密钥缺少所需权限、策略阻止的 URL、筛选的内容 |
| 404 | 未找到 | 找不到文档。 | URL 无效或不可访问 |
| 410 | 不存在 (Gone) | 需要 HTTPS。 | 通过 HTTP 而不是 HTTPS 发出的请求 |
| 415 | 不支持的媒体类型 | 不支持内容类型。 | 缺少或不正确的内容类型标头 |
| 429 | 请求过多 | 超出速率限制。 | 时间范围内请求过多 |
| 430 | 按需爬网过多 | 过多的按需爬网。 | 过多的实时爬网请求 |
| 500 | 内部服务器错误 | 意外的服务器错误。 | 临时服务器问题 |
| 503 | 服务不可用 | 服务暂时不可用。 | 维护或临时中断 |
| 504 | 网关超时 | 请求已超时。 | 上游服务超时 |
有关详细的错误处理指南,请参阅 错误处理。