В настоящее время я отлаживаю проблему с одним пользователем, который не может связаться с нашими серверами аутентификации. Эта проблема важна для нас, потому что это один пользователь, который, вероятно, может привлечь больше пользователей по мере нашего роста.
Это метод, который я использую для устранения его проблемы.
List<string> headers = new List<string>();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.CookieContainer = new CookieContainer();
webRequest.AllowAutoRedirect = false;
using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
{
headers.Add("Status Code: " + (int)webResponse.StatusCode);
headers.Add("Status Desc: " + webResponse.StatusDescription);
foreach (string key in webResponse.Headers.Keys)
{
if (!key.ToString().Equals("Location"))
{
var value = webResponse.Headers[key];
headers.Add(key + ": " + value);
}
}
}
// Try-catch statements here, which print out "Error Message: " + ex.Message
Когда он запрашивает наши серверы, я получаю следующие ошибки:
Кроме того, я использовал по-другому HTTP(S)
протоколы и webRequest.XXXXX
настройки, но безрезультатно - все ошибки 40X
ассортимент.
Я знаю, что 4XX
Классы кодов состояния предназначены для случаев, когда клиент, кажется, допустил ошибку.
403 Forbidden
указывает, что запрос был действительным, но сервер отказывается отвечать на него.
407 Proxy Authentication Required
указывает, что клиент должен сначала аутентифицироваться через прокси.
Я не совсем уверен в одном: кто виноват в этой проблеме? Это:
Кто-то в предыдущем потоке предложил мне попросить пользователя установить Fiddler для прослушивания запросов и ответов, но мне некомфортно, когда он настраивает вещи, которые Fiddler просит вас принять, чтобы использовать некоторые из его функций, например HTTPS. Есть ли альтернативы тому, как я могу это отладить?