dont_proxy leert Scrapys Proxy-Feld nicht
Stimmen Sie ein eigenes Bypass-Flag mit den Proxy-Metadaten ab, die Scrapys eingebaute Middleware verwendet.
Eine Anfrage kann eine eigene Proxy-Middleware umgehen und dennoch eine aktive Proxy-URL in ihren Metadaten tragen. Scrapys eingebaute HttpProxyMiddleware liest meta["proxy"]; sie interpretiert kein allgemeines dont_proxy-Flag.
Für eine Anfrage, die direkt erfolgen soll, setzen Sie ausdrücklich:
request.meta["proxy"] = None
Das ausdrückliche None verhindert, dass die eingebaute Middleware für diese Anfrage einen Proxy aus ihren Umgebungseinstellungen auswählt. Wird der Schlüssel nur gelöscht, ist diese automatische Auswahl wieder erlaubt.
Wenn eine andere installierte Middleware dont_proxy verwendet, behalten Sie das Flag auch für seinen dokumentierten Zweck bei. Ordnen Sie die Middleware-Reihenfolge so, dass eine spätere Komponente nicht erneut eine Proxy-URL zuweist. Prüfen Sie die Metadaten nach der letzten Komponente, die eine Route auswählen kann.
Ein 407 nach dem Setzen eines eigenen Bypass-Flags passt zu einer verbleibenden Proxy-Route, doch der Status allein zeigt nicht, welche Middleware sie ausgewählt hat. Verfolgen Sie das wirksame Proxy-Feld durch die Verarbeitung dieser Anfrage, statt anzunehmen, dass alle Komponenten dieselbe Vokabel für das Opt-out teilen.