Это будет POST с типом MIME application/x-www-form-urlencoded
. Он использует apache httpclient, который уже включен в mirth, так как он используется внутри коннектора HTTP Sender, а также некоторые другие функции. Другие решения могут потребовать от вас загрузки jar-файлов и добавления ресурсов библиотеки.
Closer является частью Google Guava, который также уже включен в Mirth.
Проверьте комментарии, где Rhino javascript позволяет упростить сравнение кода с прямым преобразованием Java.
Было бы неплохо обернуть все это в функцию шаблона кода.
var result;
// Using block level Java class imports
with (JavaImporter(
org.apache.commons.io.IOUtils,
org.apache.http.client.methods.HttpPost,
org.apache.http.client.entity.UrlEncodedFormEntity,
org.apache.http.impl.client.HttpClients,
org.apache.http.message.BasicNameValuePair,
com.google.common.io.Closer))
{
var closer = Closer.create();
try {
var httpclient = closer.register(HttpClients.createDefault());
var httpPost = new HttpPost('http://localhost:9919/myphpscript.php');
// javascript array as java List
var postParameters = [
new BasicNameValuePair("firstname", "John"),
new BasicNameValuePair("lastname", "Smith")
];
// Rhino JavaBean access to set property
// Same as httpPost.setEntity(new UrlEncodedFormEntity(postParameters, "UTF-8"));
httpPost.entity = new UrlEncodedFormEntity(postParameters, "UTF-8");
var response = closer.register(httpclient.execute(httpPost));
// Rhino JavaBean access to get properties
// Same as var is = response.getEntity().getContent();
var is = closer.register(response.entity.content);
result = IOUtils.toString(is, 'UTF-8');
} finally {
closer.close();
}
}
logger.info(result);