-1
考慮代碼,假設baseUri
來自一個方法參數解析的烏里有錯誤的端口號
Uri baseUri = new Uri("www.contoso.com:8080/", UriKind.RelativeOrAbsolute);
baseUri = baseUri.IsAbsoluteUri
? baseUri
: new Uri("http://" + baseUri.OriginalString);//make URI http by default
Uri myUri = new Uri(baseUri, "catalog/shownew.htm?date=today");
對於給定的字符串IsAbsoluteUri返回true。但是,儘管端口在URI myUri.Port
中指定爲-1,myUri.Host爲空。
我該如何解析這個字符串才能得到正確的端口號?
正要寫這篇文章,你打我吧 – BugFinder
作爲我提到baseUri來自用戶輸入。它可以是http://,https://,ftp://等。 我不能只是添加協議。這就是爲什麼我試圖檢測是否需要通過閱讀IsAbsoluteUri屬性 –
來添加它,如果它出現錯誤,您會得到模糊的數據 - 畢竟它應該猜測ftp http https? – BugFinder