Http請求失敗,獲取返回狀態碼和消息


            HttpWebRequest request = WebRequest.Create(RelUrl) as HttpWebRequest;
                request.Method = method;
                request.Headers.Add("aftership-api-key", ApiKey);
                if (!string.IsNullOrEmpty(requestData))
                {
                    request.ContentType = "application/json";
                    byte[] payload = Encoding.UTF8.GetBytes(requestData);
                    request.ContentLength = payload.Length;

                    //發送post的請求,寫入參數
                    Stream writer = request.GetRequestStream();
                    writer.Write(payload, 0, payload.Length);
                    writer.Close();
                }
                try
                {
                    //如果請求失敗,到這一步會報錯。但是我們需要請求返回的狀態碼,就必須要“HttpWebResponse”對象
                    //可以把以下代碼放到try里面,如果失敗了,catch也能獲取
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                    Stream stream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                    result = reader.ReadToEnd();

                    reader.Close();
                    stream.Close();
                    response.Close();
                }
                catch (WebException ex) //一定要是這個對象類型
                {
                    var response = (HttpWebResponse)ex.Response;
                    Stream myResponseStream = ex.Response.GetResponseStream();
                    StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                    string retString = myStreamReader.ReadToEnd();
                    return retString;
                }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM