リクエストは独自の proxy ミドルウェアを回避しても、メタデータに有効な proxy URL を残したままにできます。Scrapy の組み込み HttpProxyMiddleware は meta["proxy"] を読み取りますが、汎用の dont_proxy フラグは解釈しません。

直接接続させたいリクエストでは、明示的に設定します:

request.meta["proxy"] = None

明示的な None により、組み込みミドルウェアはそのリクエストで環境設定から proxy を選べなくなります。キーを削除するだけでは、その自動選択が再び許可されます。

別の導入済みミドルウェアが dont_proxy を使う場合は、その文書化された目的のためにもフラグを残してください。後続のコンポーネントが再び proxy URL を割り当てないよう、ミドルウェアの順序を整えます。ルートを選択しうる最後のコンポーネントの後にメタデータを確認します。

独自のバイパスフラグを設定した後の 407 は、proxy ルートが残っていることと整合しますが、そのステータスだけではどのミドルウェアが選択したかは分かりません。すべてのコンポーネントが同じ除外語彙を共有していると決めつけず、そのリクエストの処理を通じて実際に効いている proxy フィールドを追跡してください。

関連記事