Hỏi .NET xem nó sẽ dùng proxy nào cho một URL
Kiểm tra lựa chọn proxy mặc định cho một đích chính xác, bao gồm quyết định bỏ qua và ghi đè HttpClient rõ ràng.
Hỏi chính sách mặc định về URL chính xác đang thất bại:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Dùng không gian tên System và System.Net.Http. Giữ thông tin điểm cuối riêng tư được trả về ngoài nhật ký công khai.
| Quan sát | Ý nghĩa |
|---|---|
IsBypassed(destination) | Liệu chính sách này có chọn định tuyến trực tiếp cho URL đó không. |
GetProxy(destination) | Kết quả chính sách; WebProxy có thể trả về đích ban đầu khi bị bỏ qua. |
| Một yêu cầu thực qua máy khách đang thất bại | Bằng chứng về việc tuyến đã chọn có dùng được không. |
| Một báo cáo địa chỉ nguồn từ phía đích | Lối ra quan sát được cho yêu cầu đó. |
HttpClient.DefaultProxy cung cấp định tuyến mặc định khi trình xử lý không có cấu hình proxy rõ ràng, và việc khởi tạo của nó phụ thuộc vào nền tảng. Một proxy được gán hoặc việc dùng proxy bị tắt có thể chọn khác. Hãy kiểm tra trình xử lý thực tế, không chỉ một máy khách chẩn đoán mới.
Một dịch vụ cũng có thể chạy với môi trường người dùng khác. Giữ proxy đã chọn, quyết định bỏ qua và kết quả yêu cầu tách biệt khi so sánh với một ứng dụng tương tác. Mã này không mở kết nối đích nào và không đo IP ra nào; hãy thu thập bằng chứng đó qua cùng máy khách và tuyến nếu cần.