Я пытаюсь получить программный доступ Closure Compiler , но возникают проблемы как с PHP, так и с JavaScript. Вот быстрый и грязный PHP-скрипт, который я написал для того, чтобы поиграть с REST API компилятора:
<code><?php
if (!empty($_POST)) {
echo '<pre>';
print_r($_POST);
echo '
';
foreach ($ _POST as $ k => & $ v) $ v = urlencode ($ v);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ ch, CURLOPT_POST, true);
curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ _POST);
curl_setopt ($ ch, CURLOPT_URL, 'http://closure -compiler.appspot.com / compile');
echo curl_exec ($ ch);
} еще {
эхо "
Введите код JavaScript для оптимизации здесь:
";
}
Вывод, который я вижу:
Array
(
[js_code] => function hello(name) {
// Greets the user
alert(\'Hello, \' + name);
}
hello(\'New user\');
[compilation_level] => WHITESPACE_ONLY
[output_format] => json
[output_info] => compiled_code
[warning_level] => VERBOSE
)
Error(13): No output information to produce, yet compilation was requested.
Я подумал, может быть, проблема с моими опциями cURL . Поэтому я попробовал JavaScript (через jQuery.post () call). Я " jQuerify " открыл случайное окно Firefox и запустил следующий код в консоли Firebug :
$.post('http://closure-compiler.appspot.com/compile',
{
'js_code': "function hello(name) {/*Greets the user*/alert('Hello, ' + name);}",
'compilation_level': 'SIMPLE_OPTIMIZATIONS',
'output_format': 'text',
'output_info': 'compiled_code'
},
function(response) {
alert(response);
}
);
На этой панели отображается сообщение об ошибке 403.
Чего мне не хватает?