我正在使用 WebClient 对服务器进行 POST,如下所示:
string URI = "http://mydomain.com/foo";
string myParameters =
"&token=1234" +
"&text=" + HttpUtility.UrlEncode(someVariable);
using (WebClient wc = new WebClient())
{
try
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(URI, myParameters);
}
catch (WebException e)
{
return e.Message;
}
}
由于 HTTP 403(禁止),我有时会抛出异常。在这些情况下,我想知道确切的原因。深入研究我正在调用的服务,它记录了它可以选择返回一个errorDetail
像这样的字段:
"code": 403,
"errorType": "not_authorized",
"errorDetail": "Can reply on a checkin at most once."
但是,当我在 Visual Studio 中单步执行代码时,我看不到如何获取该errorDetail
字段。它似乎不是WebException
.
有没有办法得到它,所以我可以显示如下:
return e.Message + " -- " + e.errorDetail
?