我正在尝试使用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;
}
网址正确且案例已正确填写 - 已经过验证。
编辑:其他信息。
WebProxy proxy = new WebProxy(); proxy.UseDefaultCredentials = true; client.Proxy = proxy;
答案 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网址)。