Example #1
0
        public void WC_SendRequest_BadRequests(string request)
        {
            string result = webClient.SendRequest(request);

            response.Payload              = new Payload();
            response.Payload.Resource     = null;
            response.Payload.ErrorMessage = "Request is not valid.";
            response.Status     = Status.BAD_FORMAT.ToString();
            response.StatusCode = StatusCode.BAD_FORMAT_CODE;
            string expected = JsonConvert.SerializeObject(response);

            Assert.AreEqual(expected, result);
        }
Example #2
0
        public void BinaryWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://download-cdn.getsync.com/stable/windows64/BitTorrent-Sync_x64.exe" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Binary, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var binaryResponse = response as BinaryWebResponse;
                Assert.NotNull( binaryResponse );

                byte[] data;

                var s = binaryResponse.GetResponseStream();
                Assert.NotNull( s );

                using ( var ms = new MemoryStream() ) {
                    s.CopyTo( ms );

                    data = ms.ToArray();
                }

                Assert.NotNull( data );
            }
        }
Example #3
0
        public void BinaryWebResponseDataPropertyBackwardsCompatibilityTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://download-cdn.getsync.com/stable/windows64/Resilio-Sync_x64.exe");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Binary, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var binaryResponse = response as BinaryWebResponse;
                Assert.NotNull(binaryResponse);

                byte[] data;
                using (var s = binaryResponse.GetResponseStream()) {
                    using (var ms = new MemoryStream()) {
                        s.CopyTo(ms);

                        data = ms.ToArray();
                    }
                }

                Assert.NotNull(data);
            }
        }
Example #4
0
        /// <summary>
        /// Submits the form, specifying the request data, redirection action, and a range of valid response types.
        /// </summary>
        /// <param name="requestData">Contains the request data in <b>application/x-www-form-urlencoded</b> format.</param>
        /// <param name="autoRedirect"><b>true</b> if the request should be automatically redirected; <b>false</b> otherwise.</param>
        /// <param name="validTypes">Contains a list of acceptable response types.</param>
        /// <returns>The response from the server.</returns>
        /// <remarks>
        /// This overload allows all form request options to be specified.
        /// </remarks>
        protected WebResponse SubmitRequest(string requestData, bool autoRedirect, WebResponseType[] validTypes)
        {
            WebRequest request;

            if (Attributes.ContainsKey("method") && Attributes["method"].ToUpperInvariant() == "POST")
            {
                request = new PostWebRequest(ActionUrl, requestData, autoRedirect);
            }
            else
            {
                var builder = new UriBuilder(ActionUrl)
                {
                    Query = requestData,
                    Port  = -1
                };

                request = new GetWebRequest(builder.Uri, autoRedirect);
            }

            request.IsXmlHttpRequest = SubmitAsXmlHttpRequest;

            if (FormUrl != null)
            {
                request.Headers.Add(CommonHeaders.Referer, FormUrl.ToString());
            }

            return(WebResponseValidator.ValidateResponse(WebClient.SendRequest(request), validTypes, string.Format(CultureInfo.CurrentCulture, NScrapeResources.UnexpectedResponseOnFormSubmission, request.Destination)));
        }
        public Group GetGroupById(string id)
        {
            string    request   = $"{baseURL}groups.getById?group_id={id}&fields=members_count&access_token={accessToken}&v=5.103";
            WebClient webHelper = new WebClient();
            string    json      = webHelper.SendRequest(request, "GET");

            return(Parse(json));
        }
        public User GetUserById(string id)
        {
            string    request   = $"{baseURL}users.get?user_ids={id}&fields=bdate&access_token={accessToken}&v=5.103";
            WebClient webHelper = new WebClient();
            string    json      = webHelper.SendRequest(request, "GET");

            return(Parse(json));
        }
Example #7
0
        public User GetUserById(string id)
        {
            string    request   = $"{url}users/get/{id}";
            WebClient webClient = new WebClient();
            string    json      = webClient.SendRequest(request, "GET");

            return(Parse(json));
        }
        public Group GetById(string id)
        {
            string    request   = $"{url}groups/getById/{id}";
            WebClient webClient = new WebClient();
            string    json      = webClient.SendRequest(request, "GET");

            return(Parse(json));
        }
Example #9
0
        public Group GetById(string id)
        {
            string    request   = $"{url}groups.getById?group_id={id}&access_token={accessToken}&v=5.103";
            WebClient webClient = new WebClient();
            string    json      = webClient.SendRequest(request, "GET");

            return(Parse(json));
        }
Example #10
0
        public User GetUserById(string id)
        {
            string    request   = $"{url}users.get?user_ids={id}&access_token={accessToken}&v=5.103";
            WebClient webClient = new WebClient();
            string    json      = webClient.SendRequest(request, "GET");

            return(Parse(json));
        }
Example #11
0
        public List <Group> Get(string id, string count)
        {
            string    request   = $"{url}groups.get?user_id={id}&count={count}&extended={"1"}&access_token={accessToken}&v=5.103";
            WebClient webClient = new WebClient();
            string    json      = webClient.SendRequest(request, "GET");

            return(ParseList(json));
        }
        public List <Group> Get(string id, string count)
        {
            string    request   = $"{url}groups/get/{id}";
            WebClient webClient = new WebClient();

            string json = webClient.SendRequest(request, "GET");

            Group[]      res    = ParseList(json, count);
            List <Group> groups = new List <Group>();

            for (int i = 0; i < res.Length; i++)
            {
                groups.Add(res[i]);
            }
            return(groups);
        }
Example #13
0
        public void ImageWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("http://sites.psu.edu/siowfa15/wp-content/uploads/sites/29639/2015/10/cat.jpg");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Image, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var imageResponse = response as ImageWebResponse;
                Assert.NotNull(imageResponse);

                Assert.NotNull(imageResponse.Image);
            }
        }
Example #14
0
        public void JsonWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("http://jsonplaceholder.typicode.com/posts/1/comments");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Json, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var jsonWebResponse = response as JsonWebResponse;
                Assert.NotNull(jsonWebResponse);

                Assert.NotNull(jsonWebResponse.Json);
                Assert.Contains("\"email\": \"[email protected]\",", jsonWebResponse.Json);
            }
        }
Example #15
0
        public void JavaScriptWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("http://www.javascriptkit.com/script/script2/offcanvasmenu.js");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.JavaScript, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var javaScriptWebResponse = response as JavaScriptWebResponse;
                Assert.NotNull(javaScriptWebResponse);

                Assert.NotNull(javaScriptWebResponse.JavaScript);
                Assert.Contains("var offcanvasmenu = (function($){", javaScriptWebResponse.JavaScript);
            }
        }
Example #16
0
        public void PlainTextWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.PlainText, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var plainTextResponse = response as PlainTextWebResponse;
                Assert.NotNull(plainTextResponse);

                Assert.NotNull(plainTextResponse.PlainText);
                Assert.Contains("∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i)", plainTextResponse.PlainText);
            }
        }
Example #17
0
        public void HtmlWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://github.com/darrylwhitmore/NScrape");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Html, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull(htmlWebResponse);

                Assert.NotNull(htmlWebResponse.Html);
                Assert.Contains("<meta content=\"darrylwhitmore/NScrape\" property=\"og:title\" />", htmlWebResponse.Html);
            }
        }
Example #18
0
        public void HtmlWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://github.com/darrylwhitmore/NScrape");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Html, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull(htmlWebResponse);

                Assert.NotNull(htmlWebResponse.Html);
                Assert.Contains("\"NScrape - A web scraping framework for .NET\"", htmlWebResponse.Html);
            }
        }
Example #19
0
        public void HtmlWebResponseMetaFreshTagAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://www.pageresource.com/html/refex1.htm" );
            var redirectUri = new Uri( "http://www.pageresource.com/html/refex2.htm" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Html, response.ResponseType );
                Assert.Equal( redirectUri, response.ResponseUrl );

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull( htmlWebResponse );

                Assert.NotNull( htmlWebResponse.Html );
                Assert.Contains( "The New Page!", htmlWebResponse.Html );
            }
        }
Example #20
0
        public void RedirectWebResponseAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("https://jigsaw.w3.org/HTTP/300/301.html");
            var redirectUri = new Uri("https://jigsaw.w3.org/HTTP/300/Overview.html");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Html, response.ResponseType);
                Assert.Equal(redirectUri, response.ResponseUrl);

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull(htmlWebResponse);

                Assert.NotNull(htmlWebResponse.Html);
                Assert.Contains("A set of HTTP/1.1 redirect codes", htmlWebResponse.Html);
            }
        }
Example #21
0
        public void HtmlWebResponseMetaFreshTagAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("http://www.pageresource.com/html/refex1.htm");
            var redirectUri = new Uri("http://www.pageresource.com/html/refex2.htm");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Html, response.ResponseType);
                Assert.Equal(redirectUri, response.ResponseUrl);

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull(htmlWebResponse);

                Assert.NotNull(htmlWebResponse.Html);
                Assert.Contains("The New Page!", htmlWebResponse.Html);
            }
        }
Example #22
0
        public void BinaryWebResponseDataPropertyBackwardsCompatibilityTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://download-cdn.getsync.com/stable/windows64/Resilio-Sync_x64.exe");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Binary, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var binaryResponse = response as BinaryWebResponse;
                Assert.NotNull(binaryResponse);

#pragma warning disable 618
                var data = binaryResponse.Data;
#pragma warning restore 618
                Assert.NotNull(data);
            }
        }
Example #23
0
        public void HtmlWebResponseMetaRefreshTagNoAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("https://www.rapidtables.com/web/dev/redirect/html-redirect-test.html");
            var redirectUri = new Uri("https://www.rapidtables.com/web/dev/html-redirect.html");

            using (var response = webClient.SendRequest(uri, false)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Redirect, response.ResponseType);

                var redirectedWebResponse = response as RedirectedWebResponse;
                Assert.NotNull(redirectedWebResponse);
                Assert.Equal(redirectUri, redirectedWebResponse.RedirectUrl);

                Assert.NotNull(redirectedWebResponse.WebRequest);
                Assert.Equal(uri, redirectedWebResponse.ResponseUrl);
                Assert.Equal(uri, redirectedWebResponse.WebRequest.Destination);
            }
        }
Example #24
0
        public void HtmlWebResponseMetaFreshTagNoAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("http://www.pageresource.com/html/refex1.htm");
            var redirectUri = new Uri("http://www.pageresource.com/html/refex2.htm");

            using (var response = webClient.SendRequest(uri, false)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Redirect, response.ResponseType);

                var redirectedWebResponse = response as RedirectedWebResponse;
                Assert.NotNull(redirectedWebResponse);
                Assert.Equal(redirectUri, redirectedWebResponse.RedirectUrl);

                Assert.NotNull(redirectedWebResponse.WebRequest);
                Assert.Equal(uri, redirectedWebResponse.ResponseUrl);
                Assert.Equal(uri, redirectedWebResponse.WebRequest.Destination);
            }
        }
Example #25
0
        public void BinaryWebResponseDataPropertyBackwardsCompatibilityTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://download-cdn.getsync.com/stable/windows64/BitTorrent-Sync_x64.exe" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Binary, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var binaryResponse = response as BinaryWebResponse;
                Assert.NotNull( binaryResponse );

            #pragma warning disable 618
                var data = binaryResponse.Data;
            #pragma warning restore 618
                Assert.NotNull( data );
            }
        }
Example #26
0
        public void RedirectWebResponseNoAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("https://jigsaw.w3.org/HTTP/300/301.html");
            var redirectUri = new Uri("https://jigsaw.w3.org/HTTP/300/Overview.html");

            using (var response = webClient.SendRequest(uri, false)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Redirect, response.ResponseType);

                var redirectedWebResponse = response as RedirectedWebResponse;
                Assert.NotNull(redirectedWebResponse);
                Assert.Equal(redirectUri, redirectedWebResponse.RedirectUrl);

                Assert.NotNull(redirectedWebResponse.WebRequest);
                Assert.Equal(uri, redirectedWebResponse.ResponseUrl);
                Assert.Equal(uri, redirectedWebResponse.WebRequest.Destination);
            }
        }
Example #27
0
        static void Main(string[] args)
        {
            IWebClient webClient = new WebClient();

            string request = string.Empty;

            while (true)
            {
                Console.WriteLine("Request formats:");
                Console.WriteLine("\t GET /tableName/{id} {\"key\"=\"value\", \"connectedTo\"=\"values\", \"fields\"=\"values\"}");
                Console.WriteLine("\t ID is optional, but if you enter it, further queries will be ignored \n");

                Console.WriteLine("\t POST /tableName {\"key\"=\"value\", \"key\"=\"value\" ... }");
                Console.WriteLine("\t ID is incremental and unique, no need to pass it \n");

                Console.WriteLine("\t PATCH /tableName/id {\"key\"=\"newValue\", \"key\"=\"newValue\" ... }");
                Console.WriteLine("\t Update entity with id \n");

                Console.WriteLine("\t DELETE /tableName/id");
                Console.WriteLine("\t Deletes entity with id \n");

                Console.WriteLine("\t Tables: resource (GET, POST, PATCH, DELETE), connection (POST, DELETE) \n");

                Console.Write("Enter request (exit to quit): ");
                request = Console.ReadLine();

                if (request.Equals("exit"))
                {
                    break;
                }

                Console.WriteLine(Environment.NewLine + webClient.SendRequest(request));

                Console.WriteLine("\nPress any key to enter another request.");
                Console.ReadKey();
                Console.Clear();
            }

            Console.ReadKey();
        }
Example #28
0
        public void HtmlWebResponseMetaRefreshTagAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri         = new Uri("https://www.rapidtables.com/web/dev/redirect/html-redirect-test.html");
            var redirectUri = new Uri("https://www.rapidtables.com/web/dev/html-redirect.html");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Html, response.ResponseType);
                Assert.Equal(redirectUri, response.ResponseUrl);

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull(htmlWebResponse);

                Assert.NotNull(htmlWebResponse.Html);
                Assert.Contains("Press this link to redirect from", htmlWebResponse.Html);
                Assert.Contains("<em>html-redirect-test.htm</em>", htmlWebResponse.Html);
                Assert.Contains("back to this page:", htmlWebResponse.Html);
            }
        }
Example #29
0
        public void XmlWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri("https://www.w3schools.com/js/cd_catalog.xml");

            using (var response = webClient.SendRequest(uri)) {
                Assert.NotNull(response);
                Assert.True(response.Success);
                Assert.Equal(WebResponseType.Xml, response.ResponseType);
                Assert.Equal(uri, response.ResponseUrl);

                var xmlResponse = response as XmlWebResponse;
                Assert.NotNull(xmlResponse);

                Assert.NotNull(xmlResponse.XDocument);
                var catalog = xmlResponse.XDocument.Element("CATALOG");
                Assert.NotNull(catalog);
                var cds = catalog.Elements("CD");
                Assert.NotNull(cds);
                Assert.Equal(26, cds.Count());
            }
        }
Example #30
0
        public void HtmlWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://github.com/darrylwhitmore/NScrape" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Html, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull( htmlWebResponse );

                Assert.NotNull( htmlWebResponse.Html );
                Assert.Contains( "<meta content=\"darrylwhitmore/NScrape\" property=\"og:title\" />", htmlWebResponse.Html );
            }
        }
Example #31
0
        public void ImageWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://sites.psu.edu/siowfa15/wp-content/uploads/sites/29639/2015/10/cat.jpg" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Image, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var imageResponse = response as ImageWebResponse;
                Assert.NotNull( imageResponse );

                Assert.NotNull( imageResponse.Image );
            }
        }
Example #32
0
        public void XmlWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://www.xmlfiles.com/examples/cd_catalog.xml" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Xml, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var xmlResponse = response as XmlWebResponse;
                Assert.NotNull( xmlResponse );

                Assert.NotNull( xmlResponse.XDocument );
                var catalog = xmlResponse.XDocument.Element( "CATALOG" );
                Assert.NotNull( catalog );
                var cds = catalog.Elements( "CD" );
                Assert.NotNull( cds );
                Assert.Equal( 26, cds.Count() );
            }
        }
Example #33
0
        public void HtmlWebResponseMetaFreshTagNoAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://www.pageresource.com/html/refex1.htm" );
            var redirectUri = new Uri( "http://www.pageresource.com/html/refex2.htm" );

            using ( var response = webClient.SendRequest( uri, false ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Redirect, response.ResponseType );

                var redirectedWebResponse = response as RedirectedWebResponse;
                Assert.NotNull( redirectedWebResponse );
                Assert.Equal( redirectUri, redirectedWebResponse.RedirectUrl );

                Assert.NotNull( redirectedWebResponse.WebRequest );
                Assert.Equal( uri, redirectedWebResponse.ResponseUrl );
                Assert.Equal( uri, redirectedWebResponse.WebRequest.Destination );
            }
        }
Example #34
0
        public void JavaScriptWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://www.javascriptkit.com/script/script2/offcanvasmenu.js" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.JavaScript, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var javaScriptWebResponse = response as JavaScriptWebResponse;
                Assert.NotNull( javaScriptWebResponse );

                Assert.NotNull( javaScriptWebResponse.JavaScript );
                Assert.Contains( "var offcanvasmenu = (function($){", javaScriptWebResponse.JavaScript );
            }
        }
Example #35
0
        public void JsonWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "http://jsonplaceholder.typicode.com/posts/1/comments" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Json, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var jsonWebResponse = response as JsonWebResponse;
                Assert.NotNull( jsonWebResponse );

                Assert.NotNull( jsonWebResponse.Json );
                Assert.Contains( "\"email\": \"[email protected]\",", jsonWebResponse.Json );
            }
        }
Example #36
0
        public void PlainTextWebResponseTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.PlainText, response.ResponseType );
                Assert.Equal( uri, response.ResponseUrl );

                var plainTextResponse = response as PlainTextWebResponse;
                Assert.NotNull( plainTextResponse );

                Assert.NotNull( plainTextResponse.PlainText );
                Assert.Contains( "∮ E⋅da = Q,  n → ∞, ∑ f(i) = ∏ g(i)", plainTextResponse.PlainText );
            }
        }
Example #37
0
        public void RedirectWebResponseAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://jigsaw.w3.org/HTTP/300/301.html" );
            var redirectUri = new Uri( "https://jigsaw.w3.org/HTTP/300/Overview.html" );

            using ( var response = webClient.SendRequest( uri ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Html, response.ResponseType );
                Assert.Equal( redirectUri, response.ResponseUrl );

                var htmlWebResponse = response as HtmlWebResponse;
                Assert.NotNull( htmlWebResponse );

                Assert.NotNull( htmlWebResponse.Html );
                Assert.Contains( "A set of HTTP/1.1 redirect codes", htmlWebResponse.Html );
            }
        }
Example #38
0
        public void RedirectWebResponseNoAutoRedirectTest()
        {
            var webClient = new WebClient();

            var uri = new Uri( "https://jigsaw.w3.org/HTTP/300/301.html" );
            var redirectUri = new Uri( "https://jigsaw.w3.org/HTTP/300/Overview.html" );

            using ( var response = webClient.SendRequest( uri, false ) ) {
                Assert.NotNull( response );
                Assert.True( response.Success );
                Assert.Equal( WebResponseType.Redirect, response.ResponseType );

                var redirectedWebResponse = response as RedirectedWebResponse;
                Assert.NotNull( redirectedWebResponse );
                Assert.Equal( redirectUri, redirectedWebResponse.RedirectUrl );

                Assert.NotNull( redirectedWebResponse.WebRequest );
                Assert.Equal( uri, redirectedWebResponse.ResponseUrl );
                Assert.Equal( uri, redirectedWebResponse.WebRequest.Destination );
            }
        }