有没有人设法成功从Illustrator脚本(.jsx
)发出HTTP请求,并愿意分享如何做?
我目前正在OS X上尝试使用CS3,但CS4-5.5也能正常运行。
我找到了一个使用Bridgetalk来利用Bridge的套接字连接的例子,但到目前为止无法使它工作。
有人提到了libcurl的包装器,并且还想到了一个简单的bash脚本。还没有找到关于如何实现的信息。
任何输入/建议/提示都将受到高度赞赏!
答案 0 :(得分:1)
由于这似乎是一个真实的边缘案例,这里概述了我最终做的事情。我打算在某个时候写一篇关于我的解决方案的博客文章,但它仍然非常粗糙。
似乎 - 由于一些奇怪的原因 - AI确实没有任何可能发出HTTP请求,而大多数其他Adobe(CS)应用程序都能够这样做。但事实证明,人们可以使用名为BridgeTalk的库(随所有CS应用程序一起提供)来促进不同应用程序之间的通信。
BridgeTalk通过Adobe的Bridge应用程序(正如您可能已经猜到的那样)并启用异步(和同步,使用小技巧)执行序列化代码。
Bridge附带了一个Web套接字库,可用于向外部服务器发出请求。我的AI脚本现在通过小的自定义API和HTTP包装器,我最终使用Extendables framework中的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版本)并且仍然相当不稳定,因此不准备发布。围绕这个解决方案的项目已被放弃,所以不要屏住呼吸。