C#调用百度API方法,POST和GET请求

时间:2021-09-14 04:24:42

标签:

        #region Get请求         /// <summary>           /// HTTP GET方式请求数据.           /// </summary>           /// <param name="url">URL.</param>           /// <returns>返回数据</returns>           private static string HttpGet(string url)         {             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);             request.Method = "GET";             request.Accept = "*/*";             request.Timeout = 15000;             request.AllowAutoRedirect = false;             WebResponse response = null;             string responseStr = null;             try             {                 response = request.GetResponse();                 if (response != null)                 {                     StreamReader reader =     new StreamReader(response.GetResponseStream(), Encoding.UTF8);                     responseStr = reader.ReadToEnd();                     reader.Close();                 }             }             catch (Exception)             {                 throw;             }             finally             {                 request = null;                 response = null;             }             return responseStr;         }         #endregion         #region POST请求         /// <summary>           /// HTTP POST方式请求数据           /// </summary>           /// <param name="url">URL.</param>           /// <returns></returns>           private static string HttpPost(string url)         {             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);             request.Method = "POST";             request.ContentType = "application/x-www-form-urlencoded";             request.Accept = "*/*";             request.Timeout = 15000;             request.AllowAutoRedirect = false;             WebResponse response = null;             string responseStr = null;             try             {                 response = request.GetResponse();                 if (response != null)                 {                     StreamReader reader = new     StreamReader(response.GetResponseStream(), Encoding.UTF8);                     responseStr = reader.ReadToEnd();                     //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);                     reader.Close();                 }             }             catch (Exception)             {                 throw;             }             finally             {                 request = null;                 response = null;             }             return responseStr;         }         #endregion         #region HTTP POST方式请求数据         /// <summary>             /// HTTP POST方式请求数据             /// </summary>             /// <param name="url">URL.</param>             /// <param name="param">POST的数据</param>             /// <returns></returns>             public static string HttpPost(string url, string param)         {             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);             request.Method = "POST";             request.ContentType = "application/x-www-form-urlencoded";             request.Accept = "*/*";             request.Timeout = 15000;             request.AllowAutoRedirect = false;             StreamWriter requestStream = null;             WebResponse response = null;             string responseStr = null;             try             {                 requestStream = new StreamWriter(request.GetRequestStream());                 requestStream.Write(param);                 requestStream.Close();                 response = request.GetResponse();                 if (response != null)                 {                     StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);                     responseStr = reader.ReadToEnd();                     File.WriteAllText(System.Web.HttpContext.Current.Server.MapPath("~//weixin/Weixin/") + @"\test.txt", responseStr);                     reader.Close();                 }             }             catch (Exception)             {                 throw;             }             finally             {                 request = null;                 requestStream = null;                 response = null;             }             return responseStr;         }         #endregion 使用事例,,调用百度API //非百度经纬度转化为百度经纬度         public static string Baidull = "http://api.map.baidu.com/geoconv/v1/?coords={0}&from=1&to=5&ak={1}"; BaidumapAK;//百度开发者AK;        #region 非百度经纬度转化为百度经纬度         /// <summary>         /// 非百度经纬度转化为百度经纬度         /// </summary>         /// <param name="latitude">纬度</param>         /// <param name="longitude">经度</param>         /// <returns>百度纬度,经度</returns>         public static string GetBaidull(string latitude, string longitude)         {             string text = "";             string location = longitude + "," + latitude;             string url = string.Format(Baidull, location, BaidumapAK);             string response = HttpGet(url);             JObject jo = new JObject();             jo = (JObject)JsonConvert.DeserializeObject(response);                          latitude = jo["result"][0]["y"].ToString();             longitude = jo["result"][0]["x"].ToString();             text = latitude + "," + longitude;                          return text;         }