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

如何通过API、XML RPC或REST修改Plesk订阅过期日期?

嘿,我来帮你解决Plesk订阅过期日期修改的问题!结合你现有的创建订阅代码,下面我分两种常用的API方式给你详细说明:

一、使用XML-RPC修改订阅过期日期

你之前用的是XML格式的创建订阅请求,那用XML-RPC修改过期日期的逻辑和创建流程很像,只需要换个方法就行:

Plesk的XML-RPC接口中,修改订阅(webspace)的方法是webspace.update,核心是指定要修改的订阅标识(域名或ID),然后传入新的过期日期参数。

示例XML请求体

<packet>
  <webspace>
    <update>
      <filter>
        <name>{domainName}</name> <!-- 替换成你要修改的订阅域名 -->
      </filter>
      <gen_setup>
        <expiration_date>2025-12-31</expiration_date> <!-- 新的过期日期,格式必须是YYYY-MM-DD -->
      </gen_setup>
    </update>
  </webspace>
</packet>

关键说明

  • 如果你知道订阅的ID,也可以把<filter>里的<name>换成<id>{webspace-id}</id>,这样定位更准确
  • 如果要设置订阅永不过期,把expiration_date的值设为0000-00-00就行
  • 发送请求的端点和你创建订阅时一致,都是https://<你的Plesk服务器IP>:8443/enterprise/control/agent.php,请求逻辑和创建订阅的代码复用即可,只是替换请求体和方法
二、使用REST API修改订阅过期日期

如果更倾向于REST风格的接口,Plesk也提供了对应的支持:

步骤1:获取访问令牌

先通过Plesk的API获取授权令牌,比如发送POST请求到https://<你的Plesk服务器IP>:8443/api/v2/auth/login,请求体为:

{
  "username": "你的Plesk账号",
  "password": "你的Plesk密码"
}

返回结果里的access_token就是后续请求要用的令牌。

步骤2:发送修改请求

发送PUT请求到https://<你的Plesk服务器IP>:8443/api/v2/webspaces/<webspace-id>,请求头需要带上:

  • Authorization: Bearer <你的access_token>
  • Content-Type: application/json

请求体JSON格式如下:

{
  "gen_setup": {
    "expiration_date": "2025-12-31"
  }
}

关键说明

  • <webspace-id>可以通过GET请求https://<你的Plesk服务器IP>:8443/api/v2/webspaces获取,返回结果里会列出所有订阅,根据域名找到对应的ID
  • 设置永不过期的话,把expiration_date设为null即可(部分旧版本可能支持"0000-00-00",建议优先测试null)
注意事项
  • 不管用哪种方式,操作账号必须拥有足够的权限(比如管理员权限,或者该订阅的所有者权限)
  • 日期格式一定要严格遵循YYYY-MM-DD,否则会返回参数错误
  • 如果是测试环境,建议先在单个订阅上测试修改,确认生效后再批量操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:34:59