scripting - 如何从 Illustrator 脚本发出 HTTP 请求?

标签 scripting httprequest adobe-illustrator extendscript

是否有人成功地从 Illustrator 脚本 (.jsx) 发出 HTTP 请求并愿意分享如何实现?

我目前正在 OS X 上试验 CS3,但 CS4–5.5 也可以。

我找到了一个使用 Bridgetalk 来利用 Bridge 的套接字连接的示例,但到目前为止还无法使其工作。

有人提到了 libcurl 的包装器,并且想到了一个简单的 bash 脚本。还没有找到太多关于如何实现这两个目标的信息。

任何意见/建议/提示将不胜感激!

最佳答案

这似乎是一个真正的边缘情况,这里概述了我最终所做的事情。我计划找个时间写一篇关于我的解决方案的博文,但它的边缘仍然很粗糙。

出于某种奇怪的原因,人工智能似乎确实无法发出 HTTP 请求,而大多数其他 Adob​​e (CS) 应用程序却可以这样做。但事实证明,人们可以使用一个名为 BridgeTalk 的库(所有 CS 应用程序都附带该库)来促进不同应用程序之间的通信。

BridgeTalk 通过 Adob​​e 的 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);
}

这种方法是我唯一可以使用的方法(跨人工智能版本),并且仍然相当不稳定,因此尚未准备好发布。不过,围绕此解决方案的项目已被放弃,所以不要屏住呼吸。

关于scripting - 如何从 Illustrator 脚本发出 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125404/

相关文章:

php - 在 PHP 中找不到 HttpRequest

html - Svg 不能用作背景

java - 有没有一种脚本语言可以嵌入到我的 Android Java 应用程序中

linux - diff 命令标签格式

c++ - 如何为玩具语言实现对象?

ios - 如何间隔和异步发送HTTP请求

java.lang.IllegalArgumentException : Illegal character in path at index 33: https://box. one.th/app/api/上传

php - 通过 PHP 将 Layered .ai 转换为 PDF

node.js - paper.js 和 Adob​​e Illustrator SVG : layers compatibilty

bash - 是否有用于遍历相似目录结构的 Bash 快捷方式?