C# 从代理后面使用BugzScout.net的困难
我正试图使用Fogbugz的BugzScout,以便自动向我的Fogbugz随需应变帐户提交未受影响的应用程序异常。我已经为它编写了一个包装器类,所有东西看起来都是groovy-on-on-my-box。在生产环境中,在需要身份验证的代理后面测试相同的代码,我遇到的只是问题 我开始修改BugzScout代码,以便让它通过代理进行身份验证,在尝试了通过谷歌搜索建议的许多不同方法后,找到了一个有效的方法!但是现在我从Fogbugz本身得到了一个“主动拒绝连接”错误,我不知道该怎么办 下面是BugzScout通过.net网络客户端连接以提交新案例的代码,我对其进行了修改以处理我们的代理。我在做什么会让福格布兹拒绝我的请求?为了便于阅读,我已经从过程中删除了所有与web客户端无关的代码C# 从代理后面使用BugzScout.net的困难,c#,proxy,fogbugz,bugzscout,C#,Proxy,Fogbugz,Bugzscout,我正试图使用Fogbugz的BugzScout,以便自动向我的Fogbugz随需应变帐户提交未受影响的应用程序异常。我已经为它编写了一个包装器类,所有东西看起来都是groovy-on-on-my-box。在生产环境中,在需要身份验证的代理后面测试相同的代码,我遇到的只是问题 我开始修改BugzScout代码,以便让它通过代理进行身份验证,在尝试了通过谷歌搜索建议的许多不同方法后,找到了一个有效的方法!但是现在我从Fogbugz本身得到了一个“主动拒绝连接”错误,我不知道该怎么办 下面是BugzS
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;
}
url正确且案例填写正确-这已得到验证
编辑:其他信息
- 按需使用Fogbugz
- 完整地使用FogBugz.net代码,仅添加以下内容
- 尝试连接到和时出错(显然,除了一个表示端口443,另一个表示端口80)
- 我对网络身份验证一无所知,所以我无法告诉你我使用的是哪种身份验证——如果你告诉我在哪里查找,我很乐意为你回答李>
如果您按需使用FogBugz,需要注意的一点是您必须使用https://url(而不是http url)。从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();
你有没有想过?在FogCreekt以firstname的身份给我发电子邮件我真正需要的唯一一行是request.Proxy.Credentials=CredentialCache.DefaultNetworkCredentials;
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();