Pregunta

Tengo el siguiente código, que omitir el servidor proxy para la máquina local y luego enviar un WebRequest.

                System.Net.HttpWebRequest Request;
                System.Net.WebResponse Response;
                System.Net.CredentialCache MyCredentialCache;

Editar 1

//System.Net.WebProxy proxyObject = new WebProxy("http://172.24.1.87:8080",true);

            string strRootURI = "http://172.24.18.240/webdav/";
            string strUserName = "UsName";
            string strPassword = "Pwd";
           // string strDomain = "Domain";
            string strQuery = "";
            byte[] bytes = null;
            System.IO.Stream RequestStream = null;
            System.IO.Stream ResponseStream = null;
            System.Xml.XmlTextReader XmlReader = null;

            try
            {
                // Build the SQL query.
                strQuery = "myWebDavVerb";

                // Create a new CredentialCache object and fill it with the network
                // credentials required to access the server.
                MyCredentialCache = new System.Net.CredentialCache();
                MyCredentialCache.Add(new System.Uri(strRootURI), "Basic", new System.Net.NetworkCredential(strUserName, strPassword));//, strDomain)


                // Create the HttpWebRequest object.
                Request = (System.Net.HttpWebRequest)HttpWebRequest.Create(strRootURI);


                // Add the network credentials to the request.
                Request.Credentials = MyCredentialCache;

                      // Request.Proxy = proxyObject;
                    // Specify the method.
                    Request.Method = "PROPFIND";
    }

Ahora, mientras yo trataba de ejecutar Tengo 403 de error. Así que nos registramos en el registro del servidor y parece que el / petición HTTP 1.0 está llegando forman un 172.24.1.87 IP mientras mi IP es 172.24.17.220.

¿Hay una manera de evitar esto? Creo que esta es la causa fundamental de error 403.

Por favor, ayuda. Gracias,

Subhen

¿Fue útil?

Solución

Esa dirección IP es la dirección de su proxy ... y ya está preparando el proxy para la solicitud Web sea ese proxy.

¿Por qué se puede esperar que no utilizar el proxy?

Tenga en cuenta que estamos pasando por alto las solicitudes a la máquina local, no de la máquina local, si ese era su punto de confusión.

EDIT: Si realmente quiere saber lo que está pasando, apoderarse de Wireshark que le permitirá ver toda la los paquetes procedentes de su máquina.

Si desea especificar "no usar un proxy" y luego hacer algo como:

request.Proxy = GlobalProxySelection.GetEmptyWebProxy();

Otros consejos

HttpWebRequest tiene un valor por defecto de su propiedad Proxy esto es siempre el resultado de WebRequest.GetSystemWebProxy () que es el proxy configurado en IE

Si no desea usar un proxy que necesita para anular el proxy predeterminado

Request = (System.Net.HttpWebRequest)HttpWebRequest.Create(strRootURI); 
Request.Proxy = null;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top