跳到正文

公网 URL

公网隧道与可分享 URL,支持可选自定义域名。

概览

基础路径: /v1/public-url
Python 命名空间: infra.public_url
text
# Python
from infrai import infra

# TypeScript
import { InfraiClient } from "@infrai/sdk";
const client = new InfraiClient({ apiKey: process.env.INFRAI_API_KEY! });
// → client.publicUrl

方法

public_url.create

POST /v1/public-url

创建公网 URL 或隧道,可选子域名与 TTL。

Python

python
infra.public_url.create(subdomain=None, port=None, ttl_seconds=None, idempotency_key=None)

TypeScript

typescript
client.publicUrl.create(opts?: PublicUrlCreateOptions): Promise<PublicUrlRecord>

参数

名称类型必填说明
subdomainstring可选请求的子域名。
portnumber可选要暴露的本地端口。
ttl_secondsnumber可选过期前的有效时长(秒)。
idempotency_keystring可选可选去重 key;相同重试将返回同一结果。

返回

PublicUrlRecord { url_id, url, subdomain, state, created_at }

示例

一次性前置(每个范例都假定已完成):

bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...
python
from infrai import infra

link = infra.public_url.create(ttl_seconds=7 * 86400)
print("public url:", link.get("url"))

public_url.claim

POST /v1/public-url/{id}/claim

将匿名公网 URL 认领到你的账户。

Python

python
infra.public_url.claim(id=url_id)

TypeScript

typescript
client.publicUrl.claim(urlId: string): Promise<PublicUrlRecord>

参数

名称类型必填说明
idstring
必填
公网 URL 记录 id。

返回

PublicUrlRecord

示例

一次性前置(每个范例都假定已完成):

bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...
python
from infrai import infra

print("state:", infra.public_url.claim(id="pu_...").get("state"))

public_url.get

GET /v1/public-url/{id}

按 id 获取公网 URL 记录。

Python

python
infra.public_url.get(id=url_id)

TypeScript

typescript
client.publicUrl.get(urlId: string): Promise<PublicUrlRecord>

参数

名称类型必填说明
idstring
必填
公网 URL 记录 id。

返回

PublicUrlRecord

示例

一次性前置(每个范例都假定已完成):

bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...
python
from infrai import infra

rec = infra.public_url.get(id="pu_...")
print("url:", rec.get("url"), "| state:", rec.get("state"))

public_url.domain.create

POST /v1/public-url/domains

为公网 URL 绑定自定义域名。

Python

python
infra.public_url.domain.create(...)

TypeScript

typescript
// see ROUTES["public_url.domain.create"]

返回

DomainRecord

示例

一次性前置(每个范例都假定已完成):

bash
pip install infrai
# one-time auth (no secret needed): anonymous account + trial, writes ~/.infrai/credentials
python -c "from infrai import infra; infra.activate()"
# returning user instead: export INFRAI_API_KEY=ifr_pk_proj_...
python
from infrai import infra

d = infra.public_url.domain.create(domain="links.example.com")
print("domain:", d.get("domain") or d.get("id"))