Một proxy từ chối CONNECT có thể trả về tài liệu lỗi HTTP giải thích chính sách của nó hoặc lỗi của kết nối tiếp theo. Đối với chẩn đoán được cấp phép với một proxy HTTP thông thường, curl có thể gửi trực tiếp yêu cầu đó và lưu phản hồi:

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/

URL cuối cùng trỏ đến bộ lắng nghe của proxy. Để so sánh proxy công cộng được phép, danh sách proxy HTTP cung cấp các ứng viên cho URL bộ lắng nghe đó. --request cung cấp token phương thức; --request-target cung cấp thẩm quyền CONNECT. Giữ chúng tách biệt sẽ tạo ra CONNECT service.example:443 HTTP/1.1.

Tùy chọn proxy rỗng ngăn curl định tuyến chẩn đoán này qua một proxy kế thừa khác. Lệnh cố ý bỏ qua --fail để có thể giữ lại tài liệu lỗi HTTP.

Một lần thử không xác thực có thể dừng ở 407 trước khi đến lỗi đang được điều tra. Hãy dùng cách bố trí xác thực mà proxy dự kiến khi tạo lại một yêu cầu đã xác thực.

Đây là để kiểm tra các phản hồi lỗi. Nếu proxy trả về 2xx, kết nối trở thành một đường hầm thay vì truyền phần thân HTTP thông thường. Chẩn đoán bằng phương thức tùy chỉnh này không khởi động trao đổi TLS của đích và có thể đạt giới hạn thời gian trên một đường hầm mở đã được chấp nhận.

Dùng luồng yêu cầu --proxy thông thường cho một lần tải HTTPS thực sự. Giữ trạng thái và phần thân của chẩn đoán cùng với proxy và mục tiêu cụ thể của chúng.

Bài viết liên quan