Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scripting 如何从Illustrator脚本发出HTTP请求?_Scripting_Httprequest_Adobe Illustrator_Extendscript - Fatal编程技术网

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

Scripting 如何从Illustrator脚本发出HTTP请求?,scripting,httprequest,adobe-illustrator,extendscript,Scripting,Httprequest,Adobe Illustrator,Extendscript,是否有人成功地从Illustrator脚本(.jsx)发出HTTP请求,并愿意分享该方法 我目前正在OSX上试用CS3,但CS4–5.5也可以 我发现了一个使用Bridgetalk来利用Bridge的套接字连接的示例,但到目前为止还无法使其工作 有人提到了libcurl的包装器,还想到了一个简单的bash脚本。还没有找到多少关于如何实现这两个目标的信息 如有任何意见/建议/提示,将不胜感激 这似乎是一个真正的边缘案例,这里是我最后所做工作的概要。我计划在某个时候写一篇关于我的解决方案的博文,但它

是否有人成功地从Illustrator脚本(
.jsx
)发出HTTP请求,并愿意分享该方法

我目前正在OSX上试用CS3,但CS4–5.5也可以

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

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


如有任何意见/建议/提示,将不胜感激

这似乎是一个真正的边缘案例,这里是我最后所做工作的概要。我计划在某个时候写一篇关于我的解决方案的博文,但它的边缘仍然很粗糙

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

BridgeTalk通过Adobe的Bridge应用程序(正如您可能猜到的)实现了序列化代码的异步(和同步,使用一个小技巧)执行

Bridge附带一个web套接字库,可用于向外部服务器发出请求。我的AI脚本现在通过小型定制API和HTTP包装器,最后使用来自的HTTP解析器来处理响应。为了简单起见,我强制同步请求

例如,我最终创建的API看起来像这样(假设对象
foo
具有属性
uuid
):


这种方法是我唯一可以(跨AI版本)使用的方法,它仍然相当不稳定,因此还没有准备好发布。不过,围绕此解决方案的项目已被放弃,因此请不要屏息以待。

因为这似乎是一个真正的边缘案例,这里是我最后所做工作的概要。我计划在某个时候写一篇关于我的解决方案的博文,但它的边缘仍然很粗糙

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

BridgeTalk通过Adobe的Bridge应用程序(正如您可能猜到的)实现了序列化代码的异步(和同步,使用一个小技巧)执行

Bridge附带一个web套接字库,可用于向外部服务器发出请求。我的AI脚本现在通过小型定制API和HTTP包装器,最后使用来自的HTTP解析器来处理响应。为了简单起见,我强制同步请求

例如,我最终创建的API看起来像这样(假设对象
foo
具有属性
uuid
):


这种方法是我唯一可以(跨AI版本)使用的方法,它仍然相当不稳定,因此还没有准备好发布。不过,围绕此解决方案的项目已被放弃,因此请不要屏息以待。

仅供参考,我最近遇到了一个异步案例:这是您的博客文章吗?如果不是,那是一个类似的:不,不是我的-对不起。但我相信我在工作中使用过它。仅供参考,我最近遇到了一个异步案例:这是你的博客文章吗?如果不是,那是一个类似的:不,不是我的-对不起。但我相信我在工作中用过它。
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);
}