
韩国法院拍卖信息查询全流程实操courtauction.go.kr 上怎么查才不被封 IP【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skillcourt-auction-notice-search 是 k-skill 仓库里做韩国法院拍卖信息法원경매정보法院拍卖信息查询的技能它不依赖任何公开接口直接调用 courtauction.go.kr 站内的 WebSquare XHR 端点把公开的 매각공고法院出售公告与案件信息转成 Agent 可直接消费的结构化 JSON全程 read-only、仅供参考。目标读者是面向 Agent 构建政务数据工具的 Node.js 开发者——下文讲清数据通道怎么接、三层限流如何防封、五种错误码怎么处置以及每次交互前后的自检清单。站点没有 API30 秒内还能封 IP数据怎么查三个硬事实决定了这个技能的全部设计取舍站点没有公开 Open API唯一入口是站点内部的 WebSquare JSON XHR 端点——韩国政务站点常见的前端框架页面上的查询按钮背后 POST 的是结构化 JSONIP 级机器人拦截非常激进30 秒内大约 16 次调用就会触发 1 小时的 IP 封禁数据有合规分量它要支撑真实投标决策不能当玩具用。于是技能走了一条慢即是稳的路主通道是无浏览器的裸 HTTP调用带 jitter 限速会话带预算上限封禁信号出现就立刻停手。下面按六个问题拆开。它做三件事也明确不做五件事会做的v1 能力边界拍卖公告列表 展开给定日期与法院拉出公告卡片选中卡片后展开成案件号、用途、地址、评估价、最低拍卖价等完整字段案件号直查法院代码 案件号进案件信息、目的物明细、各拍卖期程、分配请求终期、相关案件、利害关系人出物件自由条件检索按区域、用途、价格区间、评估价区间、拍卖日期、流拍次数、面积组合条件查询。绝不做动产汽车、工程机械拍卖v1 范围之外一次性拉某个日期所有法院的日程另列 follow-up 议题物件照片 URL 暴露、物件明细书/现状调查书/评估报告 PDF 下载均为 follow-up 议题自动填写或提交投标书——投标必须由人在法院完成自动绕过登录、CAPTCHA、支付、电子签名等边界。数据通道先走裸 HTTP浏览器只是最后手段三层传输不是三选一而是降级链前两层都不碰浏览器直接 HTTP主通道——公告、案件、物件三条查询的正常路径全是 fetch POSTRuntime 浏览器备选——接管用户已打开的 BrowserOS/Aside/Chrome 的 CDP 端点由 k-skill-browser-runtime 自动探测macOS 依次试 Aside → BrowserOS → Chrome CDP其他平台先试 BrowserOS可用 provider、cdpUrl 选项或 KSKILL_BROWSER_PROVIDER、KSKILL_BROWSEROS_CDP_URL、KSKILL_ASIDE_COMMAND 环境变量指定本地 Playwright launch兜底——runtime 全部够不到时chromium.launch({ headless })本地起一个需要 rebrowser-playwright 或 playwright-core都是 optionalDependency。浏览器只在两种情况下被激活WAF 型 HTTP 400UPSTREAM_ERROR 且 statusCode 400或明确封禁 BLOCKED 且调用方显式传 fallbackOnBlocked:true。想彻底关掉备选传{ fallback: false }即可。技能实际 POST 的五个端点全部来自站点内部POST /pgj/pgj143/selectRletDspslPbanc.on —— 出售公告列表POST /pgj/pgj143/selectRletDspslPbancDtl.on —— 公告详情案件/物件展开POST /pgj/pgj15A/selectAuctnCsSrchRslt.on —— 案件单条查询POST /pgj/pgjsearch/searchControllerMain.on —— 物件自由条件检索POST /pgj/pgjComm/selectCortOfcCdLst.on —— 全部法院代码两个协议细节直接决定代码怎么写POST 之前先 warmup GET。每次 postJson 前会先访问对应 warmup 页面拿会话 Cookie 再发请求请求头模仿浏览器 XHR带 X-Requested-With: XMLHttpRequest、韩语 Accept-LanguageReferer 按端点动态填充。jdbnCd 构造不出来。展开公告详情时请求体必须携带列表响应里返回的加密令牌 jdbnCd——外部无法凭空伪造所以 getSaleNoticeDetail 的入参设计就是把列表里的卡片对象或它的 raw原样传进来再从中取字段。手写这个参数说明你必然先走过列表。传输层实现见 src/transport/http.js错误对象也在这里构造BLOCKED 携带 upstreamUrl 与 upstreamPayloadUPSTREAM_ERROR 从 payload.errors.errorMessage 提取 upstreamMessage。为什么它从不触发封禁限流、预算与封禁即停三层防护全部默认生效jitter 限流调用间隔至少 2000msminDelayMs再叠加 0~1000ms 随机增量jitterMs会话预算默认每会话 10 次调用maxCallsPerSession超了直接抛 BUDGET_EXCEEDED请求根本不发出去超时单次请求 15000mstimeoutMs。封禁处理是最狠的一条响应里只要出现 data.ipcheck false立刻抛 BLOCKED 并停止绝不做自动重试——重试可能拉长封禁时间。被封的 IP 大约 1 小时后自然恢复期间换其他 IP/网络或让人用浏览器访问站点走完解封画面。还有两个只有跑过才懂的事实自由检索Workflow C会被站点 WAF 对裸 HTTP 更严格地对待只有 WAF 型 HTTP 400 才切浏览器备选显式 BLOCKED 默认立即中止用户理解风险并显式传 fallbackOnBlocked:true 才会重试Playwright 模块没装时第一次 HTTP 400 失败原样抛出同一个 Playwright 客户端上连续调用10~15 次间隔调用内稳定要更高 burst就在调用间加 3~5 秒 sleep 并打开新客户端。备选的安全边界也值得记一笔连到 runtime 的浏览器属于用户备选结束时只清理 adapter 自己创建的 page/context/tab 并断开 automation client绝不关 BrowserOS/Aside/Chrome 的 profile本地 launch 的浏览器是自己起的所以 page/context/browser 全关PLAYWRIGHT_UNAVAILABLE模块缺失与 UNKNOWN_PROVIDERprovider 配错都是 fail-closed 立即抛错UNAVAILABLE/probe 失败则自动降级到本地 launch。想比默认更保守直接构造客户端注入即可const client new CourtAuctionHttpClient({ minDelayMs: 3000, jitterMs: 2000, maxCallsPerSession: 5, timeoutMs: 30_000 }); const notices await searchSaleNotices({ date: 2026-04-27, client });三个常见问题与最小调用先说输入归一化技能对格式的宽容度比直觉高date 必填月YYYY-MM/YYYYMM与特定日YYYY-MM-DD/YYYYMMDD都收站点搜索按钮实际按月检索传特定日时先查该月、再按月内结果过滤出当天courtCode 必须匹配 ^B\d{6}$B000210 为首尔中央地方法院留空表示全部法院bidTypedate 对应 기일입찰期日投标代码 000331period 对应 기간입찰期间投标代码 000332空值两种都查caseNumber2024-100001、2024_100001 等写法统一规整成 2024타경100001타경 是案件号里的案件种类记号。 明天哪里有拍卖一次 searchSaleNotices卡片原样交给 getSaleNoticeDetail响应 items[] 带 caseNumber、usage、address、appraisedPrice、minimumSalePrice价格是韩元整数展示时给千位逗号 亿/万换算try { const notices await searchSaleNotices({ date: 2026-04-27, courtCode: B000210, bidType: date }); console.log(매각공고 ${notices.count}건); } catch (error) { if (error.code BLOCKED) throw new Error(IP 被封约 1 小时后再试); throw error; }案件 2024타경100001 走到哪一步了getCaseByCaseNumber({ courtCode, caseNumber })。found:falsestatus:204说明案件不存在或不公开此时提示用户核对案件号格式与法院是否匹配found:true 时 caseInfo案件名、受理日、请求金额、裁判部、进行状态、items[]拍卖目的物——地址、分配请求终期、schedule[]各拍卖期的最低价/评估价/结果、claimDeadline、relatedCases、stakeholders 全部就位足以接住案件进展类的追问。符合我条件的物件有哪些把用户条件映射到 searchProperties() 的入参region { sido, sigungu, dong }sido 可传代码或市道韩语名sigungu/dong 没有静态表直接传代码如 { sido: 11, sigungu: 11680, dong: 11680101 }给了区域请求体自动走 지번주소地番地址检索cortStDvs:2不给则走拍卖公告模式cortStDvs:1usage { large, medium, small }5 位代码建筑物为 20000或大分类韩语名priceRange最低拍卖价韩元与 appraisedPriceRange评估金额韩元都是 { min, max }允许小数flbdCount流拍次数只收整数area㎡允许小数saleDate 是 { from, to }pageSize 只收 10/20/50/100其余值如 1本地直接拒绝——live 端点对它们会回 HTTP 400。代码表走 fail-open 策略getUsageCodes() 静态返回 4 个大分类代码 10000、20000、30000、40000分别对应土地、建筑物、车辆及运输装备、其他加部分代表中/小分类getRegionCodes() 返回 19 个市道与代码未知值一律原样透传。有个细节值得抄同名用途保护——当输入名称只存在于其他层级如 resolveUsageCode(아파트, large)아파트 即公寓不会错误返回同名的 medium/small 代码而是透传原文让用户看到上游报错避免静默污染请求体。命令行党二进制名与 npm 包同名全局标志含 --json默认、--pretty、--include-rawfalse、--timeout-ms、--min-delay-ms、--max-calls。子命令一览codes courts / codes bid-types / codes usages / codes regions —— 四类代码表notices --date 2026-04 --court-code B000210 --bid-type date —— 公告列表notice-detail --court-code B000210 --sale-date 2026-04-27 --judge-dept-code —— 详情jdbnCd 取自列表响应行case --court-code B000210 --case-number 2024타경100001 —— 案件直查search --sido ... --sigungu 11680 --usage-large ... --price-min ... --sale-from ... [--region 시도[:시군구raw[:읍면동raw]]] [--page-size 10|20|50|100] —— 自由条件检索遇到 BLOCKED 先做什么五个错误码与动作 error.code触发条件第一反应BLOCKED响应 data.ipcheck false立即停手把封禁事实与约 1 小时等待指引原样告知用户绝不自动重试等 1 小时或换 IP也可人工走解封画面BUDGET_EXCEEDED会话调用预算超限这是有意的安全阀确有必要时 --max-calls 20 调大同时必须提示封禁风险UPSTREAM_ERROR站点返回一般性错误最常见原因是会话过期或 jdbnCd 错误从 warmup 重新开始即重建会话NETWORK_ERROR超时/连接失败检查网络与超时设置原始异常在 error.causePLAYWRIGHT_UNAVAILABLE想用浏览器备选但 Playwright 模块缺失安装 rebrowser-playwright 或 playwright-core 后重试自检每次交互前后该说清什么合规声明四条每次交互都要讲数据是站点公开信息的原样转述实际投标前必须回到法院原始公告复核站点对自动化调用非常敏感快速连续查询可能导致 IP 被封 1 小时价格评估金额、最低拍卖价、拍卖日期、拍卖场所均以公告时点为准可能因更正、撤回、延期变化——响应里的 correctionCount 与 cancellationCount 字段可作参考技能是 read-only 的不自动投标。完成判定交付用户前逐条核对已说明 IP 封禁风险与仅供参考、投标前核对原始公告的定位展开后的公告返回了含 caseNumber/usage/address/appraisedPrice/minimumSalePrice 的 JSON案件号直查若 found:false已给用户可执行的后续动作指引遇封禁时没有自动重试立即停止已告知用户剩余调用预算明确后续是否还有查询余量。可复制到其它政务站点的一套设计范式这个技能的价值不在查了某一个站而是一组可以直接搬去其他无 Open API 激进反爬 强合规政务/金融站点的设计决策主通道无浏览器裸 HTTP 为默认浏览器仅作显式条件触发的备选沿已打开的 runtime → 本地 launch逐级降级调用方自我保护三层jitter 限流 会话预算 封禁信号即停不赌站点宽容度按最坏阈值设计令牌原样传递站点返回、外部构造不了的字段如 jdbnCd把原响应作请求参数定为唯一用法从根上消灭手填错值的可能fail-open 代码表未知值宁可原样透传让上游报错也不静默映射成错误代码合规写进输出契约read-only、强制声明、完成时汇报预算都成为交互协议的一部分而不是散落在注释里。想继续深挖两个文件最值README.md 有完整公开 API 与端点请求体键位src/normalize.js 是 raw 列映射到英文键的地方看完就清楚整个响应结构。【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考