Inhaltsverzeichnis

sendJSON(), sendPOST() und sendXML()

Der Befehl sendJSON() sendet eine HTTP-Anfrage an die angegebene URL und gibt die Antwort des Servers zurück.

mixed sendJSON(string URL, array Daten, [array Header])
mixed sendPOST(string URL, array Daten, [array Header])
mixed sendXML(string URL, string XML, [array Header])

Warnung: Die Anfrage wird synchron durchgeführt, das bedeutet, dass sie die Ladezeit der Fragebogen-Seite um die Zeit verzögert bis der angefragte Server eine Antwort sendet. Die Anfrage wird abgebrochen, wenn die Ladezeit mehr als 5 Sekunden in Anspruch nimmt.

Hinweis: Die Anzahl der Anfragen ist begrenzt (s. Einschränkungen).

Rückgabewert sendJSON()

Wenn die Anfrage aufgrund eines Fehlers nicht verarbeitet werden konnte, wird false zurückgegeben.

Wenn die Gegenstelle eine Antwort im JSON-Format sendet, wird diese als Array zurückgegeben.

Ansonsten wird die Antwort des Servers als string zurückgegeben.

Rückgabewert sendPOST()

Wenn die Anfrage aufgrund eines Fehlers nicht verarbeitet werden konnte, wird false zurückgegeben.

Ansonsten wird die Antwort des Servers als string zurückgegeben.

Rückgabewert sendXML()

Wenn die Anfrage aufgrund eines Fehlers nicht verarbeitet werden konnte, wird false zurückgegeben.

Wenn der Server gültige XML-Daten übermittelt, werden diese dekodiert und als Array zurückgegeben, wobei jedes XML-Tag in einem Array mit den folgenden Schlüsseln repräsentiert wird:

Ansonsten wird die Antwort des Servers als string zurückgegeben.

Einschränkungen

Beispiel

$data = sendJSON('https://example.com', [
  'q' => 'reflect',
  'd' => 'SoSci Survey'
]);
debug($data);
$data = sendJSON('https://api.openai.com/v1/chat/completions', [
    'model' => 'gpt-3.5-turbo',
    'messages' = [
        [
            'role' => 'user',
            'content' => 'Hello!'
        ]
    ]
], [
    'Authorization' =>  'Bearer 12345678990'
]);
debug($data);

Testen

Falls die Gegenstelle nicht so reagiert, wie man das erwarten würde, sollten Sie zunächst Ihre Anfrage prüfen.

SoSci Survey stellt unter https://www.soscisurvey.de/tools/post-monkey.php ein kleines Script zur Verfügung. Sie erhalten dort eine URL, an welche Sie eine Anfrage (Request) übermitteln können. Anschließend können Sie den Inhalt der Anfrage überprüfen.

Wenn die Anfrage Ihrer Meinung nach korrekt ist, sehen Sie sich die Antwort an. Am einfachsten senden Sie die Anfrage einmal über die Entwickler-Tools Ihres Browsers (Entwickler-Tools im Browser) an die API. Alternativ können Sie den Rückgabewert der Funktion mittels debug() genauer ansehen (siehe oben).