Nếu một giải nén giá trị HOST
từ bộ sưu tập HttpContext
của HttpRequest
's Headers
, có cách xác định xem giá trị trả về có phải là tên được giải quyết DNS hay không. ?Xác định xem Máy chủ có phải là tên DNS được giải quyết hay IP
Ví dụ cách dùng
string host = HttpContext.Current.Request.Headers["HOST"];
if (host.IsIPAddress()) ... /// Something like this ?
or
(host.IsDNSResolved()) // Or this?
Tóm tắt
Rõ ràng là người ta có thể làm một bài kiểm tra mẫu regex vào kết quả để tìm kiếm một mô hình IP, nhưng là có một tài sản trên HttpContext
hoặc nhiều khả năng là HttpRequest
hoặc thậm chí là phương pháp tĩnh bên ngoài của lớp trợ giúp có thể thực hiện quyết định đó thay thế?
Có thể câu hỏi phụ trợ có thể là, cách thức .Net có thể nhận danh sách DNS không? Mặc dù rất lớn ... – OmegaMan
Tiêu đề máy chủ được gửi bởi ứng dụng khách (https://en.wikipedia.org/wiki/List_of_HTTP_header_fields). Từ phía máy chủ, bạn có thể sử dụng Request.UserHostName và/hoặc Request.UserHostAddress thay vì sử dụng tiêu đề khách hàng? –
Tôi không hiểu mục đích đọc giá trị HOST vì nó sẽ giống như nơi máy chủ của bạn được triển khai trừ khi nó đang ngồi phía sau Trình cân bằng tải trên một máy chủ khác khi máy chủ xử lý yêu cầu. Một cách bạn có thể làm là sử dụng Dns.GetHostName() để lấy Tên máy chủ của máy nơi câu lệnh này được thực thi để so sánh với giá trị bạn đã đọc từ tiêu đề HOST – Gururaj