CONNECT'i reddeden bir proxy, politikasını veya sonraki bağlantının başarısızlığını açıklayan bir HTTP hata belgesi döndürebilir. Sıradan bir HTTP proxy'ye karşı yetkili bir tanılama için curl bu isteği doğrudan gönderip yanıtı kaydedebilir:

curl --proxy '' --http1.1 --max-time 10 \
  --request CONNECT \
  --request-target service.example:443 \
  --header 'Host: service.example:443' \
  --dump-header tunnel.headers \
  --output tunnel.body \
  http://proxy.example:8080/

Son URL proxy dinleyicisini adresler. İzin verilen genel proxy karşılaştırması için HTTP proxy listesi o dinleyici URL'si için adaylar sunar. --request yöntem belirtecini sağlar; --request-target CONNECT yetkisini sağlar. Bunları ayrı tutmak CONNECT service.example:443 HTTP/1.1 üretir.

Boş proxy seçeneği curl'ün bu tanılamayı başka bir devralınmış proxy üzerinden yönlendirmesini önler. Komut, bir HTTP hata belgesinin saklanabilmesi için --fail'i bilerek atlar.

Kimlik doğrulaması yapılmayan bir deneme, incelenen hataya ulaşmadan 407'de durabilir. Kimliği doğrulanmış bir isteği yeniden oluştururken proxy'nin amaçladığı kimlik doğrulama düzenini kullanın.

Bu, hata yanıtlarını incelemek içindir. Proxy 2xx döndürürse bağlantı, sıradan bir HTTP gövde aktarımı yerine bir tünele dönüşür. Bu özel yöntemli tanılama, hedefin TLS alışverişini başlatmaz ve kabul edilmiş açık bir tünelde zaman sınırına ulaşabilir.

Gerçek bir HTTPS alımı için normal --proxy istek akışını kullanın. Tanılamanın durumunu ve gövdesini kendi proxy ve hedefiyle birlikte saklayın.

İlgili makaleler