我正在搜索一个库,我可以将其包含在程序中以打开具有给定Internet地址的文件。就像http://foobar.com/foobar.txt。
赞
Ada.Text_IO.Open (File, Ada.Text_IO.In_File, "bla.txt");但不限于本地文件。
答案 0 :(得分:3)
好吧,你不会找到具有该确切界面的东西,因为Text_IO是一个标准库,并且不能以这种方式轻易地被第三方扩展。
如果您的平台的底层文件系统支持HTTP,那么它可以像您想要的那样工作。我不知道有任何平台可以这样工作。
您可能希望作为一般解决方案AWS (Ada Web Server)。一个人可以使用它来实现一个完整的Web服务器,如果他们想要,但它也包含HTTP客户端设施。 HTTP客户端将是您想要的(请参阅AWS.Client)。除了进行一次标准的API调用之外,您需要做的工作要多一些,但可能没有太多工作。
以下是一个示例,来自Rosetta Code:
with Ada.Text_IO;
use Ada.Text_IO;
with AWS.Client;
with AWS.Response;
procedure HTTP_Request is
begin
Put_Line (AWS.Response.Message_Body (AWS.Client.Get (URL => "http://www.rosettacode.org")));
end HTTP_Request;
答案 1 :(得分:1)
使用并实现了多个HTTP客户端后,我建议您使用已建立的专用客户端。 HTTP标准存在许多复杂性,这些复杂性未由天真实现http://tools.ietf.org/html/rfc2616处理。
考虑将Ada Bindings用于像libCURL这样的成熟库; http://curl.haxx.se/libcurl/ada95/