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

从After Effects的Extendscript调用Amazon Lambda如何获取HTTP调用URL

亚马逊API Gateway所有公开调用端点默认强制使用HTTPS协议,没有官方提供的HTTP版本调用地址,你无法直接获取对应HTTP地址走80端口请求。

可行解决方案

方案1:调用系统原生curl命令发起HTTPS请求(最简便)

ExtendScript支持通过system.callSystem()方法调用本地系统命令,目前Windows 10及以上、macOS所有现代版本均默认内置curl工具,可以直接用curl发起HTTPS请求,无需额外部署服务。
示例代码如下:

// 替换为你的Lambda API Gateway HTTPS地址
var apiUrl = "https://<myAPI>.execute-api.us-east-2.amazonaws.com/version1";
// 拼接curl命令,-s参数表示静默输出仅返回响应内容
var cmd = 'curl -s "' + apiUrl + '"';
// 执行命令获取返回结果
var reply = system.callSystem(cmd);
// 后续自行处理reply内容

注意:如果路径或参数包含特殊字符,需要提前做转义处理,避免命令执行出错。

方案2:本地搭建HTTP转HTTPS代理

如果不能使用系统命令,可以在运行After Effects的设备上启动一个轻量的本地HTTP代理服务,代理服务收到你的HTTP请求后,内部转换为HTTPS请求发送给API Gateway,再把结果返回给ExtendScript。
你可以用Python、Node.js等语言快速实现这个代理,以下是Python Flask实现的极简示例:

from flask import Flask
import requests
app = Flask(__name__)

@app.route('/version1')
def proxy():
    # 替换为你的Lambda HTTPS接口地址
    res = requests.get("https://<myAPI>.execute-api.us-east-2.amazonaws.com/version1")
    return res.text

if __name__ == '__main__':
    # 本地监听80端口
    app.run(port=80, host='127.0.0.1')

启动代理服务后,你原来的ExtendScript代码不需要做太大调整,直接把请求地址改为127.0.0.1:80即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:07