Xin chào tôi đang xây dựng một thứ gì đó giống như một trình duyệt web trong C#. Trong nghiên cứu của tôi tôi đã gặp một vấn đề là tôi cần phải xác định nếu một liên kết là nội bộ hoặc bên ngoài, trong nước hoặc ngoài nước. Vì vậy, tôi cần thiết để tạo ra một chức năng để làm công việc cho tôi. Vì vậy, tôi đã đưa ra các chức năng sau đây nhưng tôi không chắc chắn nếu nó algorythm tốt nhất có thể để hoàn thành nhiệm vụ đó. Vì vậy, tôi muốn ý kiến của bạn về vấn đề này.Kiểm tra xem liên kết có nằm trong hoặc ngoài
Tôi giả sử rằng các liên kết không có http: // hoặc https: // ở phía trước liên kết là nội bộ và nếu tôi có miền http://www.blahblah.com thì một liên kết như kiểm tra vẫn phải là nội bộ mặc dù thực tế là nó có http : // ở phía trước, nhưng một liên kết như http://www.somethingelse.com/?var1=http://www.blahblah.com/test là sto bên ngoài, tôi chỉ kiểm tra các chữ cái đầu tiên.
private Boolean checklinkifinternal(String link)
{
Boolean isinternal = false;
if (link.IndexOf("http://") == 0 || link.IndexOf("https://") == 0)
{
//Then probably external
if (link.IndexOf("http://" + UrlName) == 0 || link.IndexOf("https://" + UrlName) == 0 || link.IndexOf("http://www." + UrlName) == 0 || link.IndexOf("https://www." + UrlName) == 0)
{
isinternal = true;
}
}
else
{
isinternal = true;
}
return isinternal;
}
làm thế nào bạn có thể xác định xem nó nằm ngoài/nội bộ bằng giao thức mà nó đang sử dụng ...? – Shai
Điều gì về http://127.0.0.1 hoặc http://192.168.1.1 cả hai đều là nội bộ nhưng sẽ vượt qua như bên ngoài – Lloyd
thực sự didnt nghĩ rằng Lloyd – themis