我正在发帖子httpwebrequst,但在HttpWebResponse中我得到一个错误代码403禁止。现在这个错误对我来说并不充分。
然后我尝试了一个测试程序(我没有源代码:()并用它来制作相同的帖子,它返回了代码403禁止但也告诉我需要SSL。所以它有可能从失败的httpwebrequest中获取更多“服务器端”细节,而这只是错误代码吗?
谢谢
只是为了清理事情。很好,我得到403,我只是想知道为什么测试程序可以告诉SSL,当我在webexception中看到类似的东西时需要SSL
答案 0 :(得分:2)
如果由于协议错误而引发WebException,则为其响应 属性将包含从Web收到的实际响应 服务器。
try
{
// Do WebRequest
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
HttpWebResponse response = ex.Response as HttpWebResponse;
if (response != null)
{
// Process response
}
}
}
答案 1 :(得分:1)
没有明确的方式要求提供更详细的信息,不 - 基本上,你得到的是什么。
也就是说,Web服务器通常会返回文档以及有时包含有用信息的错误代码,就像您解释SSL证书问题的错误代码一样。如需帮助嗅出这样的问题,请查看Fiddler - 它将向您展示有关服务器响应的所有信息。
至于你的特殊错误,很难说; 403可以指示一些不同的事物。但是如果你收到一个表明与SSL有关的响应,你可能只是处理一个错误或过期的证书(see this question),或者服务器可能需要一个安全的连接而不是一个。您是否尝试过使用Web浏览器直接点击URL,只是为了看到是否收到提示,指出证书有问题,或者是否有非中介403响应?