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

我开始修改 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 代理 = new WebProxy();
    proxy.UseDefaultCredentials = true;
    client.Proxy = 代理;
  • 尝试同时连接 https://oursite.fogbugz.com/scoutsubmit.asphttp://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();
    

    关于c# - 从代理后面使用 BugzScout.net 的困难,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/659898/

    10-09 03:46