日前在用 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