有没有人成功地从 Illustrator 脚本 ( .jsx
) 发出 HTTP 请求并愿意分享如何?
我目前正在 OS X 上试验 CS3,但 CS4–5.5 也可以。
我找到了一个使用 Bridgetalk 来利用 Bridge 的套接字连接的示例,但到目前为止还不能让它工作。
有人提到了 libcurl 的包装器,还想到了一个简单的 bash 脚本。还没有找到太多关于如何实现的信息。
任何输入/建议/提示将不胜感激!
有没有人成功地从 Illustrator 脚本 ( .jsx
) 发出 HTTP 请求并愿意分享如何?
我目前正在 OS X 上试验 CS3,但 CS4–5.5 也可以。
我找到了一个使用 Bridgetalk 来利用 Bridge 的套接字连接的示例,但到目前为止还不能让它工作。
有人提到了 libcurl 的包装器,还想到了一个简单的 bash 脚本。还没有找到太多关于如何实现的信息。
任何输入/建议/提示将不胜感激!
看起来这是一个真正的边缘案例,这里概述了我最终做了什么。我计划在某个时候写一篇关于我的解决方案的博客文章,但它的边缘仍然非常粗糙。
似乎——出于某种奇怪的原因——人工智能确实没有任何可能发出 HTTP 请求,而大多数其他 Adobe (CS) 应用程序都能够这样做。但事实证明,可以使用一个名为 BridgeTalk 的库(所有 CS 应用程序都附带)来促进不同应用程序之间的通信。
BridgeTalk 通过 Adobe 的 Bridge 应用程序(您可能已经猜到了)并启用序列化代码的异步(和同步,使用一个小技巧)执行。
Bridge 带有一个 Web 套接字库,可用于向外部服务器发出请求。我的 AI 脚本现在通过小型自定义 API 和 HTTP 包装器,我最终使用可扩展框架中的 HTTP 解析器来处理响应。为简单起见,我强制同步请求。
举个例子,我最终创建的 API 看起来像这样(假设一个foo
具有属性的对象uuid
):
function synchFoo(foo) {
var options = {
path : '/api/foos/' + foo.uuid + 'sync',
format: 'json',
method: 'POST',
host : '127.0.0.1:3000',
data : fooDataToString(foo)
}
var response = bridgeHTTP.sendSynch(options);
return JSON.parse(response.body);
}
这种方法是我唯一可以开始工作(跨 AI 版本)的方法,并且仍然相当不稳定,因此还没有准备好发布。但是,围绕此解决方案的项目已被放弃,因此请不要屏住呼吸。