Skip to end of metadata
Go to start of metadata

Allgemeines

Der folgende C/C++-Quelltext demonstriert den Abruf von Daten (speziell des Views eines Datensatzes) über die API der Deutschen Digitalen Bibliothek. Zu Compilierung eines ausführbaren Kommandozeilenprogramms muss die cURL-Programmbibliothek vorhanden sein. Eine ausführbare Datei kann mit der freien GNU Compiler Collection (wie nachfolgend verwendet) als auch mit allen anderen C/C++-Compilern erstellt werden. Die Quelltextdatei DDBRest.c kann heruntergeladen und mit den folgenden Befehlen übersetzt sowie ausgeführt werden. Der Dateipfad des Compilers gcc sollte in der Umgebungsvariablen PATH des Betriebssystems definiert sein, andernfalls muss der vollständige Pfad mit Dateinamen (bspw. /usr/bin/gcc) angegeben werden.

Icon

Da die Complierung des Programms etwas spezifischer als bei anderen Programmiersprachen ist, wird nun folgend der Weg unter Debian GNU/Linux bzw. dessen Derivate (z. B. Ubuntu) vorgestellt: Zunächst muss sichergestellt werden, dass die Programmbibliotheken von cURL der GNU Compiler Collection gcc zur Verfügung stehen. Da das Beispielprogramm Daten über eine gesicherte Verbindung (HTTP Secure) abruft, müssen zusätzlich die SSL-Bibliotheken vorhanden sein. Unter Debian stellt diese Abhängigkeiten das Software-Packet libcurl4-openssl-dev bereit. Dieses kann mit Hilfe der Paketverwaltung installiert werden. Bei der Erstellung eines lauffähigen Programms muss dem Linker mitgeteilt werden, dass die cURL-Bibliothek eingebunden werden muss. Dies erfolgt während des Compileraufrufs mit der Option -l. Die Benennung der ausführbaren Datei erfolgt mit der Option -o.

Debian GNU/Linux

Es ist zu beachten, dass nur Daten abgefragt werden können, wenn ein gültiger API Key angegeben wird (Variable key). Andernfalls wird eine Fehlermeldung mit dem Hinweis „Response code was 403“ (Forbitten) ausgegeben.

Nach erfolgreichem Ausführen des Programms wird auf der Konsole dreimal der gleiche Datensatz ausgegeben:

  1. Datensatz im XML-Format mit Authentifizierung über den HTTP request header
  2. Datensatz im JSON-Format mit Authentifizierung über den HTTP request header
  3. Datensatz im JSON-Format mit Authentifizierung über den Query Parameter

Dieses Beispiel ist selbstverständlich auch mit anderen Compilern (z. B. Visual C++), auch auf anderen Betriebssystemen in ein lauffähiges Programm übersetzbar. Wichtig ist, dass auch hier die cURL-Programmbibliotheken zur Verfügung stehen müssen. Weitere Hinweise zum Einbinden der Bibliotheken finden sich u. a. auf der Webseite von cURL.

Quelltext

DDBRest.c
  • No labels