代理背后的BugzScout.net难度很大

时间:2009-03-18 20:10:35

标签: c# proxy fogbugz bugzscout

我正在尝试使用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 proxy = new WebProxy();
       proxy.UseDefaultCredentials = true;            
       client.Proxy = proxy;

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

您的fogbugzUrl是否使用HTTP基本身份验证?它是SSL(托管在On Demand上吗?)

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

您可以发布HTTP状态代码吗?

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