Сложность с BugzScout.net из-за прокси
Я пытаюсь использовать BugzScout от Fogbugz, чтобы автоматически отправлять неопубликованные исключения из приложений в мою учетную запись Fogbugz по требованию. Я написал для него класс-оболочку, и все выглядит просто замечательно - на моей коробке. Тестируя тот же код в производственной среде, за прокси-сервером, который требует аутентификации, у меня не было ничего, кроме проблем.
Я начал работать над модификацией кода BugzScout, чтобы он аутентифицировался с Прокси-сервером, и после того, как попробовал много разных методов, предложенных через поиск в Google, нашел тот, который работает! Но теперь я получаю ошибку "Соединение активно отказано" от самого Fogbugz, и я не знаю, что делать.
Вот код, где BugzScout подключается через.net WebClient для отправки нового дела, с моими изменениями для работы с нашим прокси. Что я делаю, чтобы Fogbugz отклонил мой запрос? Я удалил весь код, не связанный с веб-клиентом, из процедуры для удобства чтения.
public string Submit(){
WebClient client = new WebClient();
WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
client.Proxy = proxy;
Byte[] response = client.DownloadData(fogBugzUrl);
string responseText = System.Text.Encoding.UTF8.GetString(response);
return (responseText == "") ? this.defaultMsg : responseText;
}
URL-адрес правильный и дело заполнено правильно - это было проверено.
РЕДАКТИРОВАТЬ: Дополнительная информация.
- Использование Fogbugz по требованию.
- Использование кода FogBugz.net полностью, только с этими дополнениями
WebProxy proxy = new WebProxy(); proxy.UseDefaultCredentials = true; client.Proxy = прокси;
- Ошибка возникает при попытке подключиться как к https://oursite.fogbugz.com/scoutsubmit.asp и к http://oursite.fogbugz.com//scoutsubmit.asp (за исключением того, что один говорит, что порт 443, а другой порт 80, очевидно,)
- Я ничего не знаю о веб-аутентификации, поэтому я не могу сказать вам, какой тип я использую - если вы скажете мне, где искать, я буду рад ответить за вас.
2 ответа
Получил исправление от Fogbugz- это соответствующий сетевой код, который можно получить через аутентификацию прокси-сервера, а не неверную аутентификацию с помощью Bugzscout.
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
WebRequest request = WebRequest.Create(fogBugzUrl);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
Использует ли ваш fogbugzUrl базовую аутентификацию HTTP? Является ли это SSL (размещенный на по требованию?)
При активном отказе в соединении сообщение будет исходить от самого веб-сервера, а не от FogBugz.
Можете ли вы опубликовать код статуса HTTP?
Стоит отметить, что если вы используете FogBugz On Demand, вы ДОЛЖНЫ использовать https:// url (а не http url).