#region Get请求
///
/// HTTP GET方式请求数据.
///
/// URL.
/// 返回数据
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请求
///
/// HTTP POST方式请求数据
///
/// URL.
///
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方式请求数据
///
/// HTTP POST方式请求数据
///
/// URL.
/// POST的数据
///
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 非百度经纬度转化为百度经纬度
///
/// 非百度经纬度转化为百度经纬度
///
/// 纬度
/// 经度
/// 百度纬度,经度
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;
}
分享标题:C#调用百度API方法,POST和GET请求
文章源于:
http://kswsj.cn/article/geseso.html