Google Kapatma Derleyici: programlı erişim ile Problem

0 Cevap php

Ben Closure Compiler aleti programmatically erişmeye çalışıyor, ancak PHP ve JavaScript ile hem sorunları yaşıyorum. Burada sadece derleyiciler 'REST API ile oynamak kadar çırpılmış hızlı ve kirli PHP script:

<?php
if (!empty($_POST)) {
echo '<pre>';
print_r($_POST);
echo '</pre><br />';
  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);
} else {
  echo "
    <html>
      <body>
        <form action='' method='post'>
          <p>Type JavaScript code to optimize here:</p>
          <textarea name='js_code' cols='50' rows='5'>
            function hello(name) {
              // Greets the user
              alert('Hello, ' + name);
            }
            hello('New user');
          </textarea>
          <input type='hidden' name='compilation_level' value='WHITESPACE_ONLY' />
          <input type='hidden' name='output_format' value='json' />
          <input type='hidden' name='output_info' value='compiled_code' />
          <input type='hidden' name='warning_level' value='VERBOSE' />
          <br /><br />
          <input type='submit' value='Optimize' />
        </form>
      </body>
    </html>";
}

Gördüğüm çıktı:

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.

Ben belki benim cURL options ile ilgili bir sorun var, düşündüm. Yani (bir jQuery.post() çağrı yoluyla) JavaScript çalıştı. Ben "jQuerify" da rastgele Firefox penceresi ve Firebug konsolunda aşağıdaki kodu koştu:

$.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);
  }
);

"Net" paneli bu bir 403 hata gösterir.

Ne eksik?

0 Cevap