一、遠程服務器返回錯誤: (400) 錯誤的請求錯誤
捕獲異常查看具體錯誤
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.IO; using System.Net; using System.Reflection; using System.Text; namespace Test { class Program { static void Main(string[] args) { string url = "http://www.baidus.com"; string contentType = "application/x-www-form-urlencoded"; int timeOut = 3000; string parms = "626"; int encoding = 65001; HttpWebRequest(url, parms, encoding, contentType, timeOut); } public static void HttpWebRequest(string url, string parms, int encoding, string contentType = "application/x-www-form-urlencoded", int timeOut = 3000) { try { string result = string.Empty; var mRequest = (HttpWebRequest)WebRequest.Create(url); //相應請求的參數 var data = Encoding.GetEncoding(encoding).GetBytes(parms); mRequest.Method = "Post"; mRequest.ContentType = contentType; mRequest.ContentLength = data.Length; mRequest.Timeout = timeOut; mRequest.KeepAlive = true; mRequest.ProtocolVersion = HttpVersion.Version10; //請求流 var requestStream = mRequest.GetRequestStream(); requestStream.Write(data, 0, data.Length); requestStream.Close(); //響應流 var mResponse = mRequest.GetResponse() as HttpWebResponse;//此位置進入catch(403) var responseStream = mResponse.GetResponseStream();// if (responseStream != null) { var streamReader = new StreamReader(responseStream, Encoding.GetEncoding(encoding)); //獲取返回的信息 result = streamReader.ReadToEnd(); streamReader.Close(); responseStream.Close(); } } catch (System.Net.WebException ex) { string result = string.Empty; //響應流 var mResponse = ex.Response as HttpWebResponse; var responseStream = mResponse.GetResponseStream(); if (responseStream != null) { var streamReader = new StreamReader(responseStream, Encoding.GetEncoding(encoding)); //獲取返回的信息 result = streamReader.ReadToEnd(); streamReader.Close(); responseStream.Close(); } result = "獲取數據失敗,請重試!" + url + ex.ToString() + " 返回數據" + result; } } } }