You need to enable JavaScript to run this app. 如何在Illustrator脚本中发起HTTP请求?求最新可行实现方案
优惠活动
大模型
产品
解决方案
定价
更多

如何在Illustrator脚本中发起HTTP请求?求最新可行实现方案

Illustrator 脚本实现HTTP请求的2024年可行方案

目前2022年及之后发布的Illustrator版本,分别适配传统ExtendScript(JSX)和新版UXP两种脚本体系,对应可行的HTTP请求实现方案如下:

传统ExtendScript(JSX)适配方案

如果还在使用旧版JSX脚本,可通过调用系统预装的curl命令行工具中转实现请求,不需要额外安装依赖:

  • Windows环境(Win10 1809及以上版本已预装curl):通过WScript.Shell调用curl命令,将请求结果写入临时文件后读取即可,示例代码:
// 拼接curl命令,输出结果到临时文件
var requestCmd = 'curl -X GET "https://你的请求地址" -o "C:/temp/ai_http_resp.txt"';
var shell = new ActiveXObject("WScript.Shell");
// 第二个参数0表示后台执行,第三个参数true表示等待命令执行完成再继续
shell.Run(requestCmd, 0, true);

// 读取请求返回结果
var respFile = File("C:/temp/ai_http_resp.txt");
respFile.open("r");
var responseContent = respFile.read();
respFile.close();
respFile.remove(); // 用完删除临时文件
  • Mac环境:直接通过Illustrator内置的doShellScript方法调用系统curl,不需要处理临时文件,可直接拿到返回结果,示例代码:
var requestCmd = 'curl -X GET "https://你的请求地址"';
var responseContent = app.doShellScript(requestCmd);

注意:该方案需要提前处理请求参数的特殊字符转义,避免命令执行出错,适合小体量的接口请求场景。

UXP 脚本方案(推荐,适配Illustrator 2022及以上版本)

UXP是Adobe目前官方主推的新一代扩展开发体系,原生支持标准fetch API,不需要中转,是长期稳定的解决方案:

  • 用法和前端标准fetch几乎一致,示例代码如下:
async function sendHttpRequest() {
  try {
    const response = await fetch("https://你的请求地址", {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        testKey: "testValue"
      })
    });
    const result = await response.json();
    // 处理返回结果
    console.log(result);
  } catch (error) {
    console.error("请求出错:", error);
  }
}

注意:需要在UXP扩展的manifest.json配置文件中添加网络权限声明:"requiredPermissions": {"network": "allow"},否则会触发权限拦截导致请求失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 03:57:06