そこで、wireshark を使用してトラフィックを調べ、さまざまな状況での出力を比較しています。自分と google.co.za の間のトラフィックだけを見ています。
状況 1: プロキシを使用せずに google.co.za にアクセスする
requests.get('www.google.co.za')
これは status=200 の応答を返し、wireshark は私の PC と Google のサーバーの間を通過するトラフィックに関する情報を表示します。これはこれまでのところ素晴らしいです。
状況 2: 有効な http プロキシを使用して google.co.za にアクセスする
requests.get("http://google.co.za",proxies={'http':proxy})
これは status=200 の応答を返し、wireshark は私の PC と Google のサーバーの間を通過するトラフィックに関するデータを表示しません。これは素晴らしいことであり、期待されています。
状況 3: 有効なソックス プロキシを使用して google.co.za にアクセスする
requests.get("http://google.co.za",proxies={'socks':proxy})
状況ごとの結果 1.うーん
状況 4: https との同じ取引
requests.get("http://google.co.za",proxies={'https':proxy})
状況 1 と同じ結果。
質問
したがって、https を使用しようとすると、socks プロキシ リクエストはプロキシ引数が空であるかのように動作するように見えます。現在、あらゆる種類のプロキシを介してトラフィックを渡す必要があり、サイレント障害は望んでいません。
私の質問は次のとおりです。なぜ物事が静かに失敗するのですか?それを修正するにはどうすればよいですか?