You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用REST API备份MarkLogic遇403错误,求解决方法

解决MarkLogic备份脚本的403错误及执行问题

1. 修正访问协议

错误提示明确显示你用HTTP访问了HTTPS服务器,需将curl命令中的URL协议从http改为https。同时,MarkLogic默认使用自签名证书,curl会触发证书验证失败,需添加-k(--insecure)参数跳过验证。

2. 修正XQuery中的路径格式

Windows路径的反斜杠\在XQuery中属于转义字符,会导致路径解析错误,需改为正斜杠/,或是将反斜杠转义为\\:

xquery version "1.0-ml";
xdmp:database-backup(
  xdmp:database-forests(xdmp:database("Documents")),
  "C:/Users/C70945/mlbackup", 
  fn:true(), 
  "C:/Users/C70945/mlbackup", 
  15
)

3. 调整curl请求头的Content-Type

调用v1/eval执行XQuery时,更适配的Content-Type是application/xquery,而非原脚本中的application/x-www-form-urlencoded。

最终修正后的Shell脚本

#!/bin/bash
curl --anyauth --user admin:admin -X POST -i -k -d @./bkp.xqy \
-H "Content-type: application/xquery" \
-H "Accept: multipart/mixed; boundary=BOUNDARY" \
https://localhost:8000/v1/eval

额外注意事项

  • 确保C:/Users/C70945/mlbackup目录在MarkLogic服务器所在机器上已存在,且MarkLogic服务账号拥有该目录的读写权限。
  • 若你的MarkLogic管理端口不是8000,需替换为对应端口。
  • 若无需返回multipart格式响应,可移除Accept请求头简化命令。

内容的提问来源于stack exchange,提问作者Aviator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:39:56