Files
Auto_Bangumi/docs/dev/plugins/points/http-request.md
Estrella Pan 3258fcca4b docs(4.0-P7): 插件开发文档拆分为总览加每个扩展点一页,补齐中英日三语
- docs/dev/plugins.md 改为总览与导航,旧内容拆入 docs/dev/plugins/
- 新增核心概念、配置表单、事件、前端挂载点、命令行、签名与分发、内置插件、示例页
- 每个扩展点一页,侧边栏由页面表生成
- 改正旧文档中下载器配置、hardlink path_map 与补链按钮的过时描述
2026-10-08 14:51:00 +02:00

32 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 请求头(http.request)
transform 钩子。AB 发出的 GET 请求(RSS、种子文件、站点页面)都会经过它。适合给私有站点加 Cookie 或换 User-Agent。只能修改请求头:`url` 与 `method` 的改动会被忽略。
```python
from dataclasses import replace
from pydantic import BaseModel
from ab_sdk import Plugin, hook, points, secret_field
class Options(BaseModel):
cookie: str = secret_field(description="站点 Cookie")
class PrivateSite(Plugin[Options]):
config_model = Options
@hook(points.HTTP_REQUEST)
def auth(self, request):
if "pt.example.com" not in request.url:
return None
return replace(request, headers={**request.headers, "Cookie": self.config.cookie})
```
- 参数 `HttpRequest` 有 `method`、`url`、`headers`。返回修改后的副本,或 `None` 表示不修改。
- 这个钩子在每个请求上都会调用。保持轻量,不要在里面发起网络请求。
- 用 `secret_field` 保存 Cookie,WebUI 只显示掩码。
示例:`examples/plugins/custom-rss-site`。