API 文档
有问题吗? 联系我们。
所有 API 请求必须通过 HTTPS 并使用 HTTP Basic Auth,使用以下凭证:
Username: API KEY
Password: Not needed
例子
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
旗帜 | 描述 |
|---|---|
-u | 传递基本认证凭据,在API密钥之后的冒号可防止cURL请求密码。 |
-d | 在POST请求中发送数据 |
在成功的情况下,您将收到状态为302(重定向)的HTTP响应,JSON信息将在响应正文中。
# HTTP RESPONSE
# HEADERS (some of headers are ommited)
Content-Type: application/json; charset=utf-8
Status: 302 Found
Location: https://v.printfriendly.com/system/pdfs/pdf_1480936999_755625A4.pdf
# BODY
{"success":"Redirect to https://v.printfriendly.com/system/pdfs/pdf_1480947535_6e7ecaA4.pdf"}
API 版本
API的当前版本是1.0。
主要的API版本必须在URL中以“v”和数字的形式提供,例如v1、v2、v3。
例子
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API 方法
方法 | 输入 | 输出 |
|---|---|---|
PDF / 创建 | URL / HTML | HTML |
html / 创建 | URL / HTML |
参数
您必须提供 page_url 或 html 参数。所有其他参数都是可选的。
参数 | 值 |
|---|---|
页面网址 | 目标页面的 URL |
HTML | 目标页面的HTML内容 |
css_url | 自定义CSS文件的URL |
header_image_url | 自定义标题图像的 URL |
标题文本 | 文本字符串 |
以下所有示例均为 "pdf/create" 方法提供,同时也适用于 "html/create" 方法。
带有 page_url 参数的示例
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test /
-d css_url=https://my-site.com/pdf_style.css /
-d header_text='My Custom Header'
在成功的情况下,您将收到状态为302(重定向)的HTTP响应,JSON信息将在响应正文中。
带有 html 参数的示例
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d html='<html><body><h1>Title</h1><p>Text text text text text text text text text</p></body></html>'
在成功的情况下,您将获得HTTP响应,其中包含状态200及响应正文中的PDF/HTML内容。
错误
PrintFriendly 使用常规状态代码和JSON响应提供错误详细信息。
状态码
状态 | 描述 |
|---|---|
200 好 | 一切正常。 |
400 错误请求 | 发生错误。请在 JSON 中查看详细信息。 |
401 未授权 | 401 未授权 |
404 未找到 | 404 未找到 |
429 请求过多 | 429 请求过多 |
所有未成功(非状态 302 OK)响应都包含带有错误详细信息的 JSON 正文,其中包括错误类型和消息。
错误类型
类型 | 描述 |
|---|---|
参数验证 | 参数验证失败。 |
被禁止的域 | 该域名已被暂时禁止。 |
解析失败 | 无法解析页面。我们无法确定此页面的内容。 |
获取错误 | 无法获取页面。请检查 URL 是否可访问,然后重试。 |
高负载 | 参数验证失败。 |
无效的文件扩展名 | 仅支持网页。这是 PDF/TXT 文件或图像 (JPG, PNG, GIF)。 |
大页面 | 目标页面超过2MB。不支持大页面。 |
安全平台 | 安全平台阻止我们获取此页面。 |
超时 | 超时。引擎无法在30秒内处理页面。请稍后再试。 |
通用 | 发生意外错误,请稍后再试。 |
例子
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML输入
# HTTP RESPONSE
# HEADERS (some of headers were ommited)
Content-Type: application/json; charset=utf-8/
Status: 400 Bad Request
# BODY (JSON)
{"status":"failed","message":"Print technology unable to download or parse content"}
请求速率限制
API每分钟有60次请求的限制。如果您超过此限制,您将收到一个状态为: 429 请求过多 的响应。
标题 | 描述 |
|---|---|
X-频率限制 | 当前期间的总请求限制。 |
X-剩余额度 | 当前期间的剩余请求。 |
重置 X-RateLimit | 距离当前周期结束的秒数。 |
带有 page_url 参数的示例
# HEADERS (some of headers were ommited)
Status: 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 20
# BODY (JSON)Empty