Search code examples
c#c#-4.0httpwebrequest

using proxy with HttpWebRequest if/else


Im trying to make HttpWebRequest work with proxy based on if statement:

can you spot whats wrong ?

        private HttpWebRequest CreateRequest(Uri url)
    {
        HttpWebRequest request;
         if (Options.DefaultUseproxy != null) 
         {
        request = (HttpWebRequest)WebRequest.Create(url);
        request.Timeout = this.responseTimeout;
        request.UserAgent = this.userAgent;

        request.Proxy = new WebProxy(this.Proxy, false);
        return request;
        }
         else
         {
            request = (HttpWebRequest)WebRequest.Create(url);
            request.Timeout = this.responseTimeout;
            request.UserAgent = this.userAgent;


            return request;
         }


    }

Solution

  • The code shown here has no exception. So the parameter you pass if you describe briefly can solve.

    using System;
    using System.Net;
    
    namespace webreq
    {
        class Program
        {
            IWebProxy Proxy;
            static string DefaultUseproxy = "";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
                var Uri = new Uri("http://yahoo.com");
                var eres =  CreateRequest(Uri);
            }
    
            private static HttpWebRequest CreateRequest(Uri url)
            {
                HttpWebRequest request;
    
                if (DefaultUseproxy != null)
                {
                    request = (HttpWebRequest)WebRequest.Create(url);
                    request.Timeout = 1000;
                    request.UserAgent = "demo";
    
                    request.Proxy = new WebProxy();
                    return request;
                }
                else
                {
                    request = (HttpWebRequest)WebRequest.Create(url);
                    request.Timeout = 1000;
                    request.UserAgent = "demo";
    
                    return request;
                }
            }
        }
    }