Start → Hilfe

Der Aufruf funktioniert mit curl, aber nicht aus Ihrer Anwendung

curl und Ihre Anwendung senden nicht dieselbe Anfrage. Die üblichen Verdächtigen sind ein Proxy, den nur eines von beiden beachtet, eine Umgebungsvariable, die base_url überschreibt, ein Schlüssel, der auf bestimmte Quelladressen beschränkt ist, oder eine Client-Bibliothek, die einen Pfad anhängt, mit dem Sie nicht gerechnet haben.

Was Sie sehen

Warum das passiert

OPENAI_BASE_URL, OPENAI_API_KEY und HTTPS_PROXY werden von vielen SDKs automatisch gelesen. Ein veralteter Wert in der Umgebung gewinnt stillschweigend gegen das Argument, das Sie im Code übergeben haben.

Firmen-Proxys und Middleboxen mit TLS-Inspektion wirken auf die HTTP-Stacks von Bibliotheken anders als auf curl. Ein Zertifikatsfehler im SDK bei sauberem curl ist das Erkennungszeichen.

Schlüssel können auf Quell-IPs beschränkt sein. Ihr Laptop ist erlaubt, der Server nicht, und der Fehler ist ein Autorisierungsfehler, der überhaupt nicht nach einem IP-Problem aussieht.

Prüfen, ob es daran liegt

Lassen Sie die Anwendung ausgeben, was sie tatsächlich verwenden wird:

# Python
import os
print(os.getenv('OPENAI_BASE_URL'), os.getenv('HTTPS_PROXY'))
print(client.base_url)
# then reproduce curl from inside the same host
curl -s -o /dev/null -w '%{http_code}\n' \
  'YOUR_BASE_URL/models' -H 'Authorization: Bearer YOUR_KEY'

Führen Sie curl auf derselben Maschine und in derselben Shell wie die App aus. Es vom Laptop aus nachzustellen testet einen anderen Netzweg und beweist nichts.

So beheben Sie es

  1. Die Umgebung bereinigen oder angleichenEntfernen Sie veraltete OPENAI_*-Variablen oder setzen Sie sie auf die gewünschten Werte. base_url explizit im Code zu übergeben gewinnt nicht immer.
  2. IP-Beschränkungen des Schlüssels prüfenIst der Schlüssel auf bestimmte Adressen beschränkt, fügen Sie die ausgehende IP des Servers hinzu oder verwenden Sie für diese Umgebung einen Schlüssel ohne Beschränkung.
  3. Vom scheiternden Rechner aus testenReproduzieren Sie es mit curl auf der Maschine, die scheitert, nicht auf der, die funktioniert. Die Hälfte dieser Fälle entpuppt sich als Netzwerk, nicht als Code.
APICLAN-Schlüssel lassen sich mit einer IP-Allowlist pro Schlüssel auf bestimmte Quelladressen festlegen – sinnvoll für einen Schlüssel, der von einem festen Server läuft, und das Erste, was Sie prüfen sollten, wenn ein funktionierender Schlüssel von einem neuen Host aus plötzlich scheitert.

Verwandte Themen

Unexpected token '<' beim Aufruf einer OpenAI-kompatiblen API401 invalid API key – wenn der Schlüssel richtig aussieht und trotzdem scheitert

Zuletzt geprüft am 2026-10-01. Geschrieben aus Problemen, die auf einem laufenden OpenAI-kompatiblen Gateway diagnostiziert wurden – nicht von anderen Seiten zusammengetragen.