2012-04-12 4 views
1

Неужели кому-нибудь удалось успешно выполнить HTTP-запросы из сценария Illustrator (.jsx) и хотели бы поделиться им?Как сделать HTTP-запросы из сценария Illustrator?

В настоящее время я экспериментирую с CS3 на OS X, но CS4-5.5 будет работать.

Я нашел пример использования Bridgetalk для использования соединения сокетов Bridge, но не смог заставить его работать до сих пор.

Кто-то упомянул обертку вокруг libcurl, а также простой сценарий bash пришел на ум. Не нашли много информации о том, как добиться успеха.

Любой вход/совет/подсказка были бы высоко оценены!

ответ

1

Как кажется, это реальный край, здесь контур того, что я закончил делать. Я планирую написать сообщение в блоге о моем решении, но он по-прежнему очень груб по краям.

Похоже, что по какой-то странной причине ИИ действительно не имеет возможности делать HTTP-запросы, в то время как большинство других приложений Adobe (CS) могут это сделать. Оказывается, однако, что для облегчения связи между различными приложениями можно использовать библиотеку BridgeTalk (которая поставляется со всеми приложениями CS).

BridgeTalk проходит через приложение Adobe Bridge (как вы могли догадаться) и позволяет асинхронный (и синхронный, используя небольшой трюк) выполнение сериализованного кода.

Мост поставляется с библиотекой веб-сокетов, которая может использоваться для запросов на внешние серверы. Мой скрипт AI теперь проходит через небольшие пользовательские API и HTTP-обертки, и я закончил использование анализатора HTTP из Extendables framework, чтобы обработать ответ. Для простоты я заставляю синхронные запросы.

В качестве примера, 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) и по-прежнему довольно неустойчивы и поэтому не готовы к публикации. Однако проект вокруг этого решения был оставлен, поэтому не задерживайте дыхание.

+0

FYI, я натолкнулся на это недавно, для асинхронного случая: https://gist.github.com/mericson/6509997 – David

+0

Это ваш пост в блоге? Если нет, это похоже на: http://selfdocumentingcode.blogspot.com/2009/05/using-adobe-bridgetalk-synchronously.html – David

+0

Нет, не мое - извините. Но я считаю, что использовал его в качестве источника во время моей работы. – polarblau

Смежные вопросы