Example #1
0
        private static int GetStatusCode(WebClient client)
        {
            FieldInfo responseField = client.GetType().GetField("m_WebResponse", BindingFlags.Instance | BindingFlags.NonPublic);

            if (responseField != null) {
                HttpWebResponse response = responseField.GetValue(client) as HttpWebResponse;

                if (response != null) {
                    return (int)response.StatusCode;
                }
            }

            return 0;
        }
Example #2
0
        /// <summary>
        /// Gets the status information of a WebClient.
        /// </summary>
        /// <param name="client">The WebClient object</param>
        /// <param name="statusDescription">Status description</param>
        /// <param name="statusCode">The HTTP status code</param>
        /// <returns></returns>
        private static void GetStatusDetails(WebClient client, out string statusDescription, out int statusCode)
        {
            var responseField = client.GetType().GetField("m_WebResponse", BindingFlags.Instance | BindingFlags.NonPublic);

            var response = responseField?.GetValue(client) as HttpWebResponse;

            if (response != null)
            {
                statusDescription = response.StatusDescription;
                statusCode = Convert.ToInt32(response.StatusCode);
                return;
            }

            statusDescription = null;
            statusCode = 400;
        }