日前在用 WebRequest 與廠商串接功能,他們的錯誤訊息蠻特別的,是直接回 HTTP Error 400 Bad request ,然後把 error code 寫到 body 裡,在 C# 裡使用 WebRequest 一遇到 Status Code 400 就會跳錯誤了,所以沒辦法用原本的方式接資料,原本還在想要不要用 wget 先 debug ,後來找了一下才知道可以用 WebException 去讀出回傳的資料,這就方便了許多,方法如下。
這樣就可以拉到錯誤時的資訊了。
try
{
//your WebRequest , WebResponse
}
catch (WebException e)
{
Stream dataStream = e.Response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream, encode);
Console.WriteLine(reader.ReadToEnd());
}
這樣就可以拉到錯誤時的資訊了。

No comments:
Post a Comment