4

我正在尝试使用 Fogbugz 的 BugzScout 来自动向我的 Fogbugz on demand 帐户提交未经处理的应用程序异常。我已经为它编写了一个包装类,一切看起来都很时髦——在我的盒子上。在生产环境中测试相同的代码,在需要身份验证的代理后面,我除了问题什么都没有。

我开始修改 BugzScout 代码以使其通过代理进行身份验证,在尝试了通过 Google 搜索建议的许多不同方法后,找到了一个可行的方法!但是现在我收到了来自 Fogbugz 本身的“主动拒绝连接”错误,我不知道该怎么办。

这是 BugzScout 通过 .net WebClient 连接以提交新案例的代码,以及我为处理我们的代理所做的修改。我在做什么会导致 Fogbugz 拒绝我的请求?为了便于阅读,我已经从程序中删除了所有与 Web 客户端无关的代码。

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;
    }

网址正确,案例填写正确 - 已验证。

编辑:附加信息。

  • 按需使用 Fogbugz。
  • 完整使用 FogBugz.net 代码,仅添加这些
       WebProxy 代理 = 新的 WebProxy();
       proxy.UseDefaultCredentials = true;            
       client.Proxy = 代理;
4

2 回答 2

3

从 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();
于 2009-07-23T12:40:28.823 回答
0

您的 fogbugzUrl 是否使用 HTTP 基本身份验证?是 SSL(按需托管吗?)

主动拒绝连接的消息将来自 Web 服务器本身,而不是真正的 FogBugz。

你能发布HTTP状态码吗?

如果您使用 FogBugz On Demand,需要注意的一件事是您必须使用 https:// 网址(而不是 http 网址)。

于 2009-03-30T22:48:12.323 回答