我正在尝试使用 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;
}
网址正确,大小写填写正确 - 这已得到验证。
编辑:附加信息。
WebProxy 代理 = new WebProxy();
proxy.UseDefaultCredentials = true;
client.Proxy = 代理;
最佳答案
从 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/