是否可以在Anylogic中创建一个API,调用天气API来获取温度,日出等数据?我在Python中有一个现有的API调用,它将我所需的数据保存在Excel文件中。Anylogic可以启动我的外部Python .exe或.py来刷新值并在特定的模型时间将它们更新到Anylogic吗?或者以其他方式:是否可以生成API调用的Java类或Java接口?如何在Anylogic中调用Java类/接口来运行?
kpbwa7wx1#
你当然可以!这里有一个模型的链接,其中包括一些对外部API的示例调用。Example API Calls from AnyLogic (downloadable model)您可能也对Pypeline感兴趣,它是一个由泰勒Wolfeadam创建的自定义AnyLogic库,其中包含一个块,可用于在Anylogic中运行Python代码。这里有一个github仓库的链接:Pypeline Github
**注意:**有时需要额外的工作来从AnyLogic云进行API调用和Pypeline工作。
carvr3hs2#
从Anylogic发出HTTP请求应该没有任何问题,你要做的第一件事就是导入所有正确的库,这些库在模型属性上提供原生Java:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;
接下来,创建这个函数,如果你想发出一个以JSON格式给出响应的HTTP请求,这就是要走的路。
try { String url = "https://www.example.com"; // Open the connection HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); // Method connection.setRequestMethod("GET"); // Response int responseCode = connection.getResponseCode(); System.out.println("Código de respuesta: " + responseCode); // Read the response BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; StringBuilder response = new StringBuilder(); while ((line = reader.readLine()) != null) { response.append(line); } reader.close(); System.out.println("Response:"); System.out.println(response.toString()); // Close the connection connection.disconnect(); } catch (IOException e) { e.printStackTrace(); }
2条答案
按热度按时间kpbwa7wx1#
你当然可以!这里有一个模型的链接,其中包括一些对外部API的示例调用。
Example API Calls from AnyLogic (downloadable model)
您可能也对Pypeline感兴趣,它是一个由泰勒Wolfeadam创建的自定义AnyLogic库,其中包含一个块,可用于在Anylogic中运行Python代码。这里有一个github仓库的链接:Pypeline Github
**注意:**有时需要额外的工作来从AnyLogic云进行API调用和Pypeline工作。
carvr3hs2#
从Anylogic发出HTTP请求应该没有任何问题,你要做的第一件事就是导入所有正确的库,这些库在模型属性上提供原生Java:
接下来,创建这个函数,如果你想发出一个以JSON格式给出响应的HTTP请求,这就是要走的路。