API 文档
有问题吗? 联系我们。
所有 API 请求必须通过 HTTPS 进行,并需要 api_key 作为 URL 查询参数。
例子
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
如果 成功,您将收到状态为200的http响应,响应正文中将包含JSON信息。
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
API 版本
当前的API版本是2.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内容 |
输出类型 | 设置为“附件”,以接收 PDF 文件作为输出,而不是 JSON |
css_url | 自定义CSS文件的URL |
header_image_url | 自定义标题图像的 URL |
标题文本 | 文本字符串 |
以下所有示例均为 "pdf/create" 方法提供,同时也适用于 "html/create" 方法。
带有 page_url 参数的示例
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d page_url=https://test.test /
-d css_url=https://my-site.com/pdf_style.css /
-d header_text='My Custom Header'
HTML输入
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d html='<html><body><h1>Title</h1><p>Text text text text text text text text text</p></body></html>'
错误
PrintFriendly 使用常规状态代码和JSON响应提供错误详细信息。
状态码
状态 | 描述 |
|---|---|
200 好 | 一切正常。 |
400 错误请求 | 发生错误。请在 JSON 中查看详细信息。 |
401 未授权 | 401 未授权 |
404 未找到 | 404 未找到 |
429 请求过多 | 429 请求过多 |
所有失败(非状态码200)的响应都包含错误详情的JSON正文,并包含错误类型和消息。
错误类型
类型 | 描述 |
|---|---|
参数验证 | 参数验证失败。 |
被禁止的域 | 该域名已被暂时禁止。 |
解析失败 | 无法解析页面。我们无法确定此页面的内容。 |
获取错误 | 无法获取页面。请检查 URL 是否可访问,然后重试。 |
高负载 | 参数验证失败。 |
无效的文件扩展名 | 仅支持网页。这是 PDF/TXT 文件或图像 (JPG, PNG, GIF)。 |
大页面 | 目标页面超过2MB。不支持大页面。 |
安全平台 | 安全平台阻止我们获取此页面。 |
超时 | 超时。引擎无法在30秒内处理页面。请稍后再试。 |
通用 | 发生意外错误,请稍后再试。 |
例子
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-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