私は、所定のインターネットアドレスを持つファイルを開くためのプログラムに含めることができるライブラリを探しています。ちょうどhttp://foobar.com/foobar.txtのように。Ada Libがhttpを介してファイルを開くのを検索しました
同様に
Ada.Text_IO.Open (File, Ada.Text_IO.In_File, "bla.txt");ですが、ローカルファイルに限定されません。
私は、所定のインターネットアドレスを持つファイルを開くためのプログラムに含めることができるライブラリを探しています。ちょうどhttp://foobar.com/foobar.txtのように。Ada Libがhttpを介してファイルを開くのを検索しました
同様に
Ada.Text_IO.Open (File, Ada.Text_IO.In_File, "bla.txt");ですが、ローカルファイルに限定されません。
Text_IOは標準ライブラリであり、そのような方法で第三者によって簡単に拡張することはできません。
あなたのプラットフォームの基礎となるファイルシステムがHTTPをサポートするならば、好きなように動作します。私はそのような方法で動作するプラットフォームはわかりません。
おそらく一般的な解決策としては、AWS (Ada Web Server)です。人はそれを使って本格的なWebサーバーを実装することができますが、HTTPクライアント機能も備えています。 HTTPクライアントが必要なものになります(AWS.Clientを参照)。標準的なAPI呼び出しを行うだけではなく、あまり多くの作業をする必要はありません。
はここでは一例ですが、Rosetta Codeからcribbed:
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;
使用して、いくつかのHTTPクライアントを実装した、私が設立され、専用のクライアントを使用することができ助言します。純粋な実装では処理されないHTTP標準には、多くの複雑さがありますhttp://tools.ietf.org/html/rfc2616。
libCURLのような成熟したライブラリにAda Bindingsを使用することを検討してください。 http://curl.haxx.se/libcurl/ada95/