### GET /api/public/v1/download Source: https://docs.mptext.top/llms-full.txt 下载指定微信文章的内容。 ```APIDOC ## GET /api/public/v1/download ### Description 通过文章 URL 下载内容,支持多种输出格式。 ### Method GET ### Endpoint /api/public/v1/download ### Parameters #### Query Parameters - **url** (string) - Required - 微信文章 URL - **format** (string) - Optional - 输出格式:html(默认)/ markdown / text / json ``` -------------------------------- ### GET /api/public/v1/account Source: https://docs.mptext.top/llms-full.txt 根据关键词搜索公众号。 ```APIDOC ## GET /api/public/v1/account ### Description 根据公众号名称关键词搜索公众号。 ### Method GET ### Endpoint /api/public/v1/account ### Parameters #### Query Parameters - **keyword** (string) - Required - 公众号名称关键词 ``` -------------------------------- ### GET /api/public/v1/accountbyurl Source: https://docs.mptext.top/llms-full.txt 通过文章 URL 获取公众号信息。 ```APIDOC ## GET /api/public/v1/accountbyurl ### Description 通过给定的微信文章 URL 解析并获取对应的公众号信息。 ### Method GET ### Endpoint /api/public/v1/accountbyurl ### Parameters #### Query Parameters - **url** (string) - Required - 微信文章 URL ``` -------------------------------- ### GET /api/public/v1/authkey Source: https://docs.mptext.top/advanced/api Verify the validity of the current API key. ```APIDOC ## GET /api/public/v1/authkey ### Description Check if the provided API key is still valid. ### Method GET ### Endpoint /api/public/v1/authkey ### Response #### Success Response (200) - **code** (number) - 0 indicates valid, -1 indicates expired ``` -------------------------------- ### GET /api/public/v1/article Source: https://docs.mptext.top/llms-full.txt 获取指定公众号的文章列表。 ```APIDOC ## GET /api/public/v1/article ### Description 获取指定公众号的文章列表,支持分页和标题搜索。 ### Method GET ### Endpoint /api/public/v1/article ### Parameters #### Query Parameters - **fakeid** (string) - Required - 公众号的 fakeid - **begin** (number) - Optional - 起始位置,默认 0 - **size** (number) - Optional - 每页数量,默认 20(最大 20) - **keyword** (string) - Optional - 文章标题搜索关键词 ``` -------------------------------- ### GET /api/public/v1/download Source: https://docs.mptext.top/advanced/api Download the content of a WeChat article. ```APIDOC ## GET /api/public/v1/download ### Description Download the content of a WeChat article in a specified format. ### Method GET ### Endpoint /api/public/v1/download ### Parameters #### Query Parameters - **url** (string) - Required - 微信文章 URL - **format** (string) - Optional - 输出格式:html(默认)/ markdown / text / json ``` -------------------------------- ### GET /api/public/v1/article Source: https://docs.mptext.top/advanced/api Retrieve a list of articles for a specific WeChat account. ```APIDOC ## GET /api/public/v1/article ### Description Fetch a list of articles from a specific WeChat account using its fakeid. ### Method GET ### Endpoint /api/public/v1/article ### Parameters #### Query Parameters - **fakeid** (string) - Required - 公众号的 fakeid - **begin** (number) - Optional - 起始位置,默认 0 - **size** (number) - Optional - 每页数量,默认 20(最大 20) - **keyword** (string) - Optional - 文章标题搜索关键词 ``` -------------------------------- ### GET /api/public/v1/account Source: https://docs.mptext.top/advanced/api Search for WeChat accounts using a keyword. ```APIDOC ## GET /api/public/v1/account ### Description Search for WeChat accounts based on a provided keyword. ### Method GET ### Endpoint /api/public/v1/account ### Parameters #### Query Parameters - **keyword** (string) - Required - 公众号名称关键词 ``` -------------------------------- ### GET /api/public/v1/accountbyurl Source: https://docs.mptext.top/advanced/api Retrieve WeChat account information using an article URL. ```APIDOC ## GET /api/public/v1/accountbyurl ### Description Get information about a WeChat account by providing a link to one of its articles. ### Method GET ### Endpoint /api/public/v1/accountbyurl ### Parameters #### Query Parameters - **url** (string) - Required - 微信文章 URL ``` -------------------------------- ### 环境变量配置 Source: https://docs.mptext.top/advanced/private-deploy.html 配置数据存储、调试模式、AG-Grid 授权、统计及监控等环境变量。 ```dotenv # 本地 / Docker 部署(基于文件系统) NITRO_KV_DRIVER=fs NITRO_KV_BASE=.data/kv # Cloudflare 部署(使用 Cloudflare KV) # NITRO_KV_DRIVER=cloudflare-kv-binding ``` ```dotenv # 调试微信代理请求(仅开发环境生效) NUXT_DEBUG_MP_REQUEST=true ``` ```dotenv # 文章列表使用 AG-Grid 展示,企业版授权可解锁更多功能 NUXT_AGGRID_LICENSE= ``` ```dotenv # https://umami.nuxt.dev/api/configuration NUXT_UMAMI_ID= NUXT_UMAMI_HOST= ``` ```dotenv # https://docs.sentry.io/platforms/javascript/guides/nuxt/manual-setup/ NUXT_SENTRY_DSN= NUXT_SENTRY_ORG= NUXT_SENTRY_PROJECT= NUXT_SENTRY_AUTH_TOKEN= ``` -------------------------------- ### 使用符号链接迁移 IndexedDB (Windows) Source: https://docs.mptext.top/llms-full.txt 在管理员权限的 CMD 中执行,将原目录移动至新位置并创建指向该位置的符号链接。 ```cmd :: 1. 将原目录移动到新位置 move "C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default\IndexedDB" "D:\ChromeIndexedDB" :: 2. 创建符号链接 mklink /D "C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default\IndexedDB" "D:\ChromeIndexedDB" ``` -------------------------------- ### 使用符号链接迁移 IndexedDB 存储位置 Source: https://docs.mptext.top/faq.html 将 IndexedDB 文件夹移动到其他磁盘并创建符号链接,以节省系统盘空间。 ```cmd :: 1. 将原目录移动到新位置 move "C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default\IndexedDB" "D:\ChromeIndexedDB" :: 2. 创建符号链接 mklink /D "C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data\Default\IndexedDB" "D:\ChromeIndexedDB" ``` ```bash # 1. 将原目录移动到新位置 mv ~/Library/Application\ Support/Google/Chrome/Default/IndexedDB /Volumes/Data/ChromeIndexedDB # 2. 创建符号链接 ln -s /Volumes/Data/ChromeIndexedDB ~/Library/Application\ Support/Google/Chrome/Default/IndexedDB ``` -------------------------------- ### Windows 安装 mitmproxy 根证书 Source: https://docs.mptext.top/advanced/wxdown-service.html 使用命令行将 mitmproxy 的 CA 证书添加到 Windows 受信任的根证书颁发机构存储中。 ```cmd certutil -addstore root %userprofile%\.mitmproxy\mitmproxy-ca-cert.cer ``` -------------------------------- ### 修改 Chrome 用户数据目录启动参数 Source: https://docs.mptext.top/faq.html 通过命令行参数指定新的用户数据存储路径,适用于 Windows、macOS 和 Linux 系统。 ```text "C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\ChromeData" ``` ```bash open -a "Google Chrome" --args --user-data-dir="/Volumes/Data/ChromeData" ``` ```bash google-chrome --user-data-dir="/home/user/ChromeData" ``` -------------------------------- ### Docker 镜像拉取与运行 Source: https://docs.mptext.top/advanced/private-deploy.html 通过 Docker 部署应用,确保数据持久化映射到本地目录。 ```shell docker pull ghcr.io/wechat-article/wechat-article-exporter:latest ``` ```shell docker run -d \ --restart always \ --name wechat-article-exporter \ -e NODE_TLS_REJECT_UNAUTHORIZED=0 \ -p 3000:3000 \ -v ./.data:/app/.data \ ghcr.io/wechat-article/wechat-article-exporter:latest ``` -------------------------------- ### 私有代理节点核心代码 Source: https://docs.mptext.top/llms-full.txt 此代码实现了基于 Fetch API 的代理逻辑,支持通过 URL 参数或 JSON 请求体配置代理目标。部署后可用于 Cloudflare Worker 或 Deno Deploy 环境。 ```js const UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36"; const PRESETS = { mp: { Referer: "https://mp.weixin.qq.com", }, }; function error(msg, status = 400) { return new Response(msg, { status: status, }); } /** * 解析请求 */ async function parseRequest(req) { const origin = req.headers.get("origin") || '*'; // 代理目标的请求参数 let targetURL = ''; let targetMethod = "GET"; let targetBody = ''; let targetHeaders = {}; let preset = ''; const method = req.method.toLowerCase(); if (method === "get") { // GET // ?url=${encodeURIComponent(https://example.com?a=b)}&method=GET&headers=${encodeURIComponent(JSON.stringify(headers))} const {searchParams} = new URL(req.url); if (searchParams.has("url")) { targetURL = decodeURIComponent(searchParams.get("url")); } if (searchParams.has("method")) { targetMethod = searchParams.get("method"); } if (searchParams.has("body")) { targetBody = decodeURIComponent(searchParams.get("body")); } if (searchParams.has("headers")) { try { targetHeaders = JSON.parse( decodeURIComponent(searchParams.get("headers")), ); } catch (_) { throw new Error("headers not valid"); } } if (searchParams.has("preset")) { preset = decodeURIComponent(searchParams.get("preset")); } } else if (method === "post") { // POST /** * payload(json): * { * url: 'https://example.com', * method: 'PUT', * body: 'a=1&b=2', * headers: { * Cookie: 'name=root' * }, * preset: '', * } */ const payload = await req.json(); if (payload.url) { targetURL = payload.url; } if (payload.method) { targetMethod = payload.method; } if (payload.body) { targetBody = payload.body; } if (payload.headers) { targetHeaders = payload.headers; } if (payload.preset) { preset = payload.preset; } } else { throw new Error("Method not implemented"); } if (!targetURL) { throw new Error("URL not found"); } if (!/^https?:\/\//.test(targetURL)) { throw new Error("URL not valid"); } if (targetMethod === "GET" && targetBody) { throw new Error("GET method can't has body"); } if (Object.prototype.toString.call(targetHeaders) !== "[object Object]") { throw new Error("Headers not valid"); } if (!targetHeaders["User-Agent"]) { targetHeaders["User-Agent"] = UA; } // 增加预设 if (preset in PRESETS) { Object.assign(targetHeaders, PRESETS[preset]); } return { origin, targetURL, targetMethod, targetBody, targetHeaders, }; } /** * 代理请求 */ function wfetch(url, method, body, headers = {}) { return fetch(url, { method: method, body: body || undefined, headers: { ...headers, }, }); } export default { async fetch(request) { try { const { origin, targetURL, targetMethod, targetBody, targetHeaders, } = await parseRequest(request); // 代理请求 const response = await wfetch( targetURL, targetMethod, targetBody, targetHeaders, ); return new Response(response.body, { headers: { "Access-Control-Allow-Origin": origin, "Access-Control-Max-Age": "86400", "Content-Type": response.headers.get("Content-Type"), }, }); } catch (err) { return error(err.message); } } } ``` -------------------------------- ### 部署目录结构 Source: https://docs.mptext.top/advanced/private-deploy.html 展示 Docker Compose 部署所需的目录结构。 ```text app ├── certs │ ├── cert.pem │ └── key.pem ├── docker-compose.yml └── nginx.conf ``` -------------------------------- ### 使用 mkcert 生成自签名证书 Source: https://docs.mptext.top/llms-full.txt 安装根证书并为本地IP生成SSL证书文件。 ```shell mkcert -install ``` ```shell mkcert localhost 127.0.0.1 ::1 ``` -------------------------------- ### macOS 安装 mitmproxy 根证书 Source: https://docs.mptext.top/advanced/wxdown-service.html 使用 security 工具将 mitmproxy 的 CA 证书添加到系统钥匙串中以信任 SSL 连接。 ```shell sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem ``` -------------------------------- ### 定义 asset store 数据结构 Source: https://docs.mptext.top/llms-full.txt 定义了用于缓存 CSS 文件的 Asset 接口。 ```ts interface Asset { /** * css文件路径 (keyPath) */ url: string /** * 文件对象 */ file: File } ``` -------------------------------- ### 设置 API 认证 Header Source: https://docs.mptext.top/advanced/api 所有 API 请求必须在 Header 中包含 X-Auth-Key 字段进行身份验证。 ```http X-Auth-Key: 你的API密钥 ``` -------------------------------- ### mkcert 自签名证书生成 Source: https://docs.mptext.top/advanced/private-deploy.html 使用 mkcert 工具为本地开发环境生成 SSL 证书。 ```shell # 在系统中安装根证书(只需执行一次) mkcert -install ``` ```shell # 这里可以列出你最终访问的ip mkcert localhost 127.0.0.1 ::1 ``` -------------------------------- ### 定义 info store 数据结构 Source: https://docs.mptext.top/llms-full.txt 定义了用于统计公众号缓存状态的 Info 接口。 ```ts interface Info { /** * 公众号id (keyPath) */ fakeid: string /** * 文章是否已全部加载 * * 公众号文章的加载逻辑是从最新的文章开始往前加载,越早的文章越靠后 */ completed: boolean /** * 缓存的消息数 * * 一条消息可能会包含多篇文章 * 分页查询采用的是消息条数,而不是文章条数 */ count: number /** * 缓存的文章数 */ articles: number } ``` -------------------------------- ### macOS 启动 wxdown-service Source: https://docs.mptext.top/advanced/wxdown-service.html 从源码克隆项目、安装依赖并启动程序。 ```shell # 克隆项目 git clone https://github.com/wechat-article/wxdown-service.git cd wxdown-service # 安装依赖 pip install -r requirements.txt # 启动程序 python main.py ``` -------------------------------- ### Nginx 与 Docker Compose 配置 Source: https://docs.mptext.top/advanced/private-deploy.html 配置 Nginx 反向代理以支持 HTTPS,并使用 Docker Compose 编排服务。 ```nginx server { listen 80; server_name localhost; # HTTP 自动重定向到 HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl; server_name localhost; # SSL 证书路径(根据你实际文件名调整) ssl_certificate /etc/nginx/certs/cert.pem; ssl_certificate_key /etc/nginx/certs/key.pem; # 推荐的 SSL 配置(增强安全性) ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://app:3000; # 代理到应用容器 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; } } ``` ```yaml services: app: image: ghcr.io/wechat-article/wechat-article-exporter:latest restart: always environment: - NODE_TLS_REJECT_UNAUTHORIZED=0 volumes: # 持久化 KV 数据(防止容器重启丢失) - .data:/app/.data nginx: image: nginx:alpine container_name: wechat-article-nginx restart: always ports: - "80:80" # HTTP(会自动重定向到 HTTPS) - "443:443" # HTTPS volumes: - ./certs:/etc/nginx/certs:ro # 挂载证书(只读) - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro # 挂载配置 depends_on: - app ``` -------------------------------- ### 本地开发环境初始化 Source: https://docs.mptext.top/advanced/private-deploy.html 克隆代码仓库并安装依赖,适用于开发者调试。 ```shell git clone git@github.com:wechat-article/wechat-article-exporter.git cd wechat-article-exporter ``` ```shell yarn ``` ```shell yarn dev ``` -------------------------------- ### 定义 api store 数据结构 Source: https://docs.mptext.top/llms-full.txt 定义了用于记录 API 调用情况的 APICall 接口。 ```ts type ApiName = 'searchbiz' | 'appmsgpublish' interface APICall { /** * 接口名称 */ name: ApiName /** * 调用账号(nickname) */ account: string /** * 调用时间 */ call_time: number /** * 调用结果是否正常 * * true: 正常 * false: 被封禁 */ is_normal: boolean /** * 请求参数 */ payload: Record } ``` -------------------------------- ### 启动登录流程 Source: https://docs.mptext.top/llms-full.txt 调用接口启动登录并获取二维码。 ```http request POST /cgi-bin/bizlogin?action=startlogin Host: https://mp.weixin.qq.com userlang=zh_CN redirect_url= login_type=3 sessionid=sessionid ``` -------------------------------- ### 定义 proxy store 数据结构 Source: https://docs.mptext.top/llms-full.txt 定义了用于统计代理使用情况的 Proxy 接口。 ```ts interface Proxy { // 代理地址 (keyPath) address: string // 是否正在被使用 busy: boolean // 是否处于冷静期 cooldown: boolean // 使用次数 usageCount: number // 成功次数 successCount: number // 失败次数 failureCount: number // 下载流量 traffic: number } ``` -------------------------------- ### 扫码状态响应 Source: https://docs.mptext.top/llms-full.txt 轮询接口返回的扫码状态数据。 ```json { "acct_size": 0, "base_resp": { "err_msg": "ok", "ret": 0 }, "binduin": 0, "status": 0, "user_category": 0 } ``` ```json { "acct_size": 19, "base_resp": { "err_msg": "ok", "ret": 0 }, "binduin": 0, "status": 4, "user_category": 0 } ``` ```json { "acct_size": 19, "base_resp": { "err_msg": "ok", "ret": 0 }, "binduin": 0, "status": 1, "user_category": 2 } ``` -------------------------------- ### 获取二维码图片地址 Source: https://docs.mptext.top/llms-full.txt 二维码图片地址包含一个随机时间戳参数。 ```text https://mp.weixin.qq.com/cgi-bin/scanloginqrcode?action=getqrcode&random= ``` -------------------------------- ### 接口返回响应 Source: https://docs.mptext.top/llms-full.txt 登录接口的通用返回格式。 ```json {"base_resp":{"err_msg":"ok","ret":0}} ``` -------------------------------- ### 微信接口频率限制错误响应 Source: https://docs.mptext.top/llms-full.txt 当短时间内请求过多数据时,接口返回的错误响应示例。 ```json { "base_resp": { "err_msg": "freq control", "ret": 200013 } } ``` -------------------------------- ### 上报登录状态 Source: https://docs.mptext.top/llms-full.txt 根据预登录结果调用的上报接口。 ```http request POST /cgi-bin/webreport Host: https://mp.weixin.qq.com reportJson={"devicetype":1,"newsessionid":"172059629456827","optype":1,"page_state":3,"log_id":19015} ``` -------------------------------- ### 预登录接口调用 Source: https://docs.mptext.top/llms-full.txt 页面加载时调用的预登录接口。 ```http request POST /cgi-bin/bizlogin Host: https://mp.weixin.qq.com action=prelogin ``` -------------------------------- ### 生成随机时间戳 Source: https://docs.mptext.top/llms-full.txt 用于二维码请求的随机参数生成。 ```js const random = new Date().getTime() ``` -------------------------------- ### 下载文章内容 API Source: https://docs.mptext.top/advanced/api 根据微信文章 URL 下载内容,支持多种输出格式。 ```http GET /api/public/v1/download?url=文章URL&format=html ``` -------------------------------- ### 通过 URL 获取公众号信息 API Source: https://docs.mptext.top/advanced/api 通过微信文章 URL 反查公众号信息。 ```http GET /api/public/v1/accountbyurl?url=文章URL ``` -------------------------------- ### 验证 API 密钥 API Source: https://docs.mptext.top/advanced/api 检查当前 API 密钥的有效性。 ```http GET /api/public/v1/authkey ``` -------------------------------- ### 私有代理节点核心代码 Source: https://docs.mptext.top/get-started/private-proxy.html 包含请求解析逻辑与代理转发功能的 JavaScript 实现,适用于 Cloudflare Workers 等环境。 ```javascript const UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36"; const PRESETS = { mp: { Referer: "https://mp.weixin.qq.com", }, }; function error(msg, status = 400) { return new Response(msg, { status: status, }); } /** * 解析请求 */ async function parseRequest(req) { const origin = req.headers.get("origin") || '*'; // 代理目标的请求参数 let targetURL = ''; let targetMethod = "GET"; let targetBody = ''; let targetHeaders = {}; let preset = ''; const method = req.method.toLowerCase(); if (method === "get") { // GET // ?url=${encodeURIComponent(https://example.com?a=b)}&method=GET&headers=${encodeURIComponent(JSON.stringify(headers))} const {searchParams} = new URL(req.url); if (searchParams.has("url")) { targetURL = decodeURIComponent(searchParams.get("url")); } if (searchParams.has("method")) { targetMethod = searchParams.get("method"); } if (searchParams.has("body")) { targetBody = decodeURIComponent(searchParams.get("body")); } if (searchParams.has("headers")) { try { targetHeaders = JSON.parse( decodeURIComponent(searchParams.get("headers")), ); } catch (_) { throw new Error("headers not valid"); } } if (searchParams.has("preset")) { preset = decodeURIComponent(searchParams.get("preset")); } } else if (method === "post") { // POST /** * payload(json): * { * url: 'https://example.com', * method: 'PUT', * body: 'a=1&b=2', * headers: { * Cookie: 'name=root' * }, * preset: '', * } */ const payload = await req.json(); if (payload.url) { targetURL = payload.url; } if (payload.method) { targetMethod = payload.method; } if (payload.body) { targetBody = payload.body; } if (payload.headers) { targetHeaders = payload.headers; } if (payload.preset) { preset = payload.preset; } } else { throw new Error("Method not implemented"); } if (!targetURL) { throw new Error("URL not found"); } if (!/^https?:\/\//.test(targetURL)) { throw new Error("URL not valid"); } if (targetMethod === "GET" && targetBody) { throw new Error("GET method can't has body"); } if (Object.prototype.toString.call(targetHeaders) !== "[object Object]") { throw new Error("Headers not valid"); } if (!targetHeaders["User-Agent"]) { targetHeaders["User-Agent"] = UA; } // 增加预设 if (preset in PRESETS) { Object.assign(targetHeaders, PRESETS[preset]); } return { origin, targetURL, targetMethod, targetBody, targetHeaders, }; } /** * 代理请求 */ function wfetch(url, method, body, headers = {}) { return fetch(url, { method: method, body: body || undefined, headers: { ...headers, }, }); } export default { async fetch(request) { try { const { origin, targetURL, targetMethod, targetBody, targetHeaders, } = await parseRequest(request); // 代理请求 const response = await wfetch( targetURL, targetMethod, targetBody, targetHeaders, ); ``` -------------------------------- ### 定义 article store 数据结构 Source: https://docs.mptext.top/llms-full.txt 定义了文章存储对象的类型,并展示了如何构建唯一键。 ```ts import {AppMsgEx} from "../types"; declare const article: AppMsgEx // key 采用【公众号id】与【文章id】组合的形式 const key = `${fakeid}:${article.aid}` // value 除了文章相关字段外,增加了 fakeid 字段 type StoreObjectValue = AppMsgEx & { fakeid: string } ``` -------------------------------- ### 二维码内部编码URL Source: https://docs.mptext.top/llms-full.txt 二维码图片解析后包含的登录跳转地址。 ```text http://mp.weixin.qq.com/mp/scanlogin?action=index&qrticket=b5e94c8689978a087986ef0bb00fe2ea&scanscene=0#wechat_redirect ``` -------------------------------- ### 代理节点响应处理代码 Source: https://docs.mptext.top/get-started/private-proxy.html 此代码段用于处理代理节点的 HTTP 响应,设置跨域头信息并捕获潜在错误。 ```javascript return new Response(response.body, { headers: { "Access-Control-Allow-Origin": origin, "Access-Control-Max-Age": "86400", "Content-Type": response.headers.get("Content-Type"), }, }); } catch (err) { return error(err.message); } } } ``` -------------------------------- ### API 端点请求示例 Source: https://docs.mptext.top/llms-full.txt 列出了用于搜索公众号、获取文章列表、下载内容及验证密钥的 API 端点。 ```http GET /api/public/v1/account?keyword=关键词 ``` ```http GET /api/public/v1/article?fakeid=xxx&begin=0&size=20 ``` ```http GET /api/public/v1/download?url=文章URL&format=html ``` ```http GET /api/public/v1/accountbyurl?url=文章URL ``` ```http GET /api/public/v1/authkey ``` -------------------------------- ### 搜索公众号 API Source: https://docs.mptext.top/advanced/api 通过关键词搜索公众号信息。 ```http GET /api/public/v1/account?keyword=关键词 ``` -------------------------------- ### 生成会话ID Source: https://docs.mptext.top/llms-full.txt 用于登录流程的唯一会话标识生成逻辑。 ```js this.sessionid = new Date().getTime() + "" + Math.floor(Math.random() * 100); ``` -------------------------------- ### 获取文章列表 API Source: https://docs.mptext.top/advanced/api 根据公众号 fakeid 获取文章列表,支持分页和标题搜索。 ```http GET /api/public/v1/article?fakeid=xxx&begin=0&size=20 ``` -------------------------------- ### 公共代理节点地址列表 Source: https://docs.mptext.top/get-started/proxy 列出了当前部署在 Cloudflare Workers 上的公共代理节点域名。 ```text https://*.worker-proxy.asia https://*.net-proxy.asia https://*.1235566.space https://*.worker-proxy.shop https://*.worker-proxys.cyou https://*.worker-proxy.cyou ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.