Ответ 1
Хотя это может быть не лучшим способом, альтернативный подход, чтобы обойти необходимость J/Link, заключался бы в создании промежуточного CGI script для перевода запроса от GET
до POST
для вас.
Этот файл script будет размещаться на доступном сервере, он будет выполнять заданный запрос GET, сделать запрос POST на целевой странице, а затем вывести/вернуть XML-результат обычным способом.
Например, используя curl
в PHP, который будет работать хорошо - хотя, очевидно, можно было бы достичь такой же функциональности практически в любом языке CGI.
<?php
$c = curl_init();
// set the various options, Url, POST,etc
curl_setopt($c, CURLOPT_URL, "http://www. ... .com/login.jsp"); // Target page
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_RETURNTRANSFER, false);
// POST the incomming query to the Target Page
curl_setopt($c, CURLOPT_POSTFIELDS, $_SERVER['QUERY_STRING']);
curl_exec($c);
curl_close($c);
// Output the XML response using header/echo/etc...
// You might need to also send some of the POST request response headers
// use CURLOPT_HEADER to access these...
?>
С точки зрения Mathmatica это намного проще, поскольку вы просто используете встроенный метод import
для создания стандартного запроса GET
на странице прокси-сервера, но получите XML-результат из запроса POST
на странице входа в систему.