今天 工作遇到一个需求,是一个老项目,
技术栈: DotNet Framework2.0,
要求分别使用Post和Put方式访问第三方提供的Api。
此处提供一个通用的Put和Put方式请求;
另外,Delete方式访问也同样可以用这种方式,只需要改变一下 request.Method即可。
直接上代码:
/// <summary>
/// Post请求/Put请求
/// </summary>
/// <param name="url">Api的地址</param>
/// Api举例:http://localhost:31147/WeatherForecast/Post
/// <param name="requestString">查询字符串</param>
/// 查询字符串举例:name=1&age=18(参数和参数用&符号连接)
/// <returns></returns>
public static string Post(string url, string requestString)
{
var request = (HttpWebRequest)WebRequest.Create(url);
var data = System.Text.Encoding.UTF8.GetBytes(requestString);
request.Method = "POST";
//request.Method = "Put";
//request.Method = "Delete";
request.ContentType = "application/json";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
return new StreamReader(response.GetResponseStream()).ReadToEnd();
}