public void Navigate(string url, bool absolute = false) { string destinationUrl = absolute ? url : OsrsDataContainers.OsrsWikiBase + url; HttpWebRequest request = WebRequest.Create(destinationUrl) as HttpWebRequest; try { HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream stream = response.GetResponseStream()) { StreamReader reader = new StreamReader(stream, Encoding.UTF8); _sgmlReader.InputStream = reader; _document = new XmlDocument(); _document.PreserveWhitespace = true; _document.XmlResolver = null; if (_expectNonHtmlResponse) { XmlNode wrappedJson = _document.CreateNode("element", "content", ""); wrappedJson.InnerText = _sgmlReader.ReadOuterXml(); _document.AppendChild(wrappedJson); } else { _document.Load(_sgmlReader); } _uri = request.RequestUri.ToString(); } } catch (WebException e) { Console.WriteLine("Unable to navigate to webpage."); throw e; } }