Ejemplo n.º 1
0
        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;
            }
        }