Вопрос

Я пытаюсь использовать BugzScout от Fogbugz, чтобы автоматически отправлять необработанные исключения приложений в мою учетную запись Fogbugz по требованию.Я написал для него класс-оболочку, и все выглядит просто великолепно - на моей коробке.Тестируя тот же код в производственной среде, за прокси-сервером, который требует аутентификации, у меня не было ничего, кроме проблем.

Я принялся за доработку кода BugzScout, чтобы заставить его проходить аутентификацию с помощью прокси, и, перепробовав множество различных методов, предложенных с помощью поиска Google, нашел тот, который работает!Но теперь я получаю сообщение об ошибке "Активно отказано в подключении" от самого Fogbugz, и я не знаю, что делать.

Вот код, в котором BugzScout подключается через веб-клиент .net для отправки нового обращения, с моими изменениями для работы с нашим прокси.Что я делаю такого, что заставило бы 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 = proxy;
  • Ошибка возникает при попытке подключиться к обоим https://oursite.fogbugz.com/scoutsubmit.asp и http://oursite.fogbugz.com//scoutsubmit.asp (за исключением того, что на одном указан порт 443, а на другом, очевидно, порт 80)
  • Я ничего не знаю о веб-аутентификации, поэтому не могу сказать вам, какой тип я использую - если вы подскажете мне, где искать, я был бы рад ответить на этот вопрос за вас.
Это было полезно?

Решение

Исправлено от 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).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top