分享本地 HTTP API:curl、Postman 与 webhook
MyShare 可以把本机或局域网中的 HTTP/HTTPS API 变成临时公网接口,供同事用 curl、Postman 或 webhook 调用。后端不需要 HTML 首页,也不需要另建前端;分享密码和接口自己的登录各自生效。
先分享 API 的服务地址
- 启动 API,在分享电脑上确认可访问,例如
http://localhost:8080或http://192.168.1.20:8080。 - 在首页选择「网页或服务」,填写服务起始地址。根路径返回可读取的 401、403、404 或 405 也能分享;连接、浏览器权限和 CORS 要求仍需满足。
- 完成安全验证和首次分享协议确认,点击「生成分享链接」,随后把链接路径换成实际接口路径,保留分享密码。
支持 localhost、127.0.0.1、[::1] 和 RFC1918 私有 IPv4 地址;内网域名和公网目标不在范围内。一个主服务可另加最多两个明确批准的来源,创建后清单固定。已有 /api 开发代理时,直接分享前端地址即可。浏览器权限和 LAN 细节见本地与 LAN 指南。
用 curl 或 Postman 直接请求
下面的域名、密码和业务令牌都是占位示例,请换成自己的分享地址、本次六位临时密码和访客的 API 凭据。URL 中的 __myshare_password 可直接解锁,无需先打开网页或换取 MyShare 访问 Cookie。
curl 'https://YOUR-SHARE.example.invalid/api/echo?__myshare_password=YOUR_SHARE_PASSWORD' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"message":"hello"}'
另一种方式是从 URL 移除密码,改为发送 X-MyShare-Password: YOUR_SHARE_PASSWORD 请求头。两种方式权限相同;同时提供却不一致会被拒绝。网关验证后移除专用密码参数和请求头,不把它们发送给本地服务。
Postman 填入同样的完整接口 URL,按原 API 设置方法、业务鉴权和请求正文即可。Webhook 调用方如果能保留 URL 查询参数,可以直接 POST 到含密码的接口地址;分享电脑、浏览器和 API 在回调到达时都必须在线。
业务登录和分享密码如何配合?
分享密码只授予这份预览的访问权。接口仍可要求访客自己的合法 Authorization: Bearer … 或 Authorization: Basic …,请求方法、路径和正文照常转发;不要把分享密码放进业务 Authorization。格式错误或其他 Authorization 类型不受支持。
业务 Cookie/HttpOnly 登录需要扩展,或接入已有 Node 开发服务的项目适配器。此时可在请求中带访客自己的 Cookie: session=YOUR_SESSION;普通网页分享会过滤 Cookie/Set-Cookie。适配器仅用于回环地址,LAN Cookie 登录使用扩展。分享者浏览器原有的登录不会带给访客。
CORS 与额外来源
网页分享通过分享者浏览器读取本地服务。本地 CORS 必须允许准确的 MyShare Origin,处理 OPTIONS,并显式允许 Authorization、Content-Type 等实际请求头。可在「更多选项 → 后端与登录」复制 AI 配置提示词交给项目助手;扩展则需逐个批准本次地址。
从其他网页的 JavaScript 调用公开接口还涉及另一层来源检查:同一分享内映射的预览来源可以互相调用,任意第三方网站的跨域请求并不会因持有密码而自动获准。curl、Postman 和服务器 webhook 不依赖浏览器 CORS;它们的可用不证明第三方网页跨域可用。
使用边界与排错
- 单个请求体最多 2 MiB。响应连续 60 秒无进展或持续 15 分钟会关闭;总请求数、并发、流量和分享时长受套餐额度约束。
- 收到 MyShare 的密码错误时,核对 URL 参数或专用请求头;接口自己的 401/403 则需要检查业务凭据和权限。
- HTTP 登录跳转需扩展或项目适配器,并限制在已批准服务内。OAuth、原始 TCP/UDP、数据库和 SSH 隧道不受支持。
- 断线不会自动重新提交请求,重试写入前先检查原操作结果。结束或到期后,分享 URL 和两种密码访问方式都失效。
- 纯 API、curl 和 webhook 没有网页 DOM,不生成网页回放,也不录制 API 正文。完整密码链接应像密码一样保管。