提示:记得Nuget引进 代码所需的DLL
简单GET请求
//Url:请求接口链接
//ContentType:编码方式
public static string Http_Get(string Url,string ContentType= "text/html;charset=UTF-8")
{
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream myResponseStream = null;
StreamReader myStreamReader = null;
string retString = string.Empty;
try
{
request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";//设定请求方式
//request.Timeout = 5000;//设置接口超时时间
if (!string.IsNullOrWhiteSpace(ContentType))
{
request.ContentType = ContentType;
}
response = (HttpWebResponse)request.GetResponse();
myResponseStream = response.GetResponseStream();
myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
retString = myStreamReader.ReadToEnd();
}catch(Exception ex) { }
finally
{
if (myStreamReader != null) { myStreamReader.Close(); myStreamReader.Dispose(); }
if (myResponseStream != null) { myResponseStream.Dispose(); }
if (response != null) { response.Dispose(); }
if (request != null) { request.Abort(); }
}
return retString;
}
POST请求
public static string PostTest(string 参数1,string 参数2)
{
var strjson = "";//请求返回数据
var RequestUrl = "";//接口请求链接
Uri url = new Uri(RequestUrl);
// 创建Web请求
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
// 设置以POST方式发送请求
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
StringBuilder data = new StringBuilder();//准备拼接请求参数,记得参数要先进行编码,再请求
data.Append("参数名=" + HttpUtility.UrlEncode(参数1));
data.Append("&参数名=" + HttpUtility.UrlEncode(参数2));
// 将参数转为byte数组
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
// 设置请求头内容的长度
request.ContentLength = byteData.Length;
// 将参数写入请求流
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
// 获取Web服务器输出的数据
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// 取得输出流
StreamReader reader = new StreamReader(response.GetResponseStream());
//返回数据
strjson = reader.ReadToEnd();
}
return strjson;
}
注意:post 请求时参数最好要进行 UrlEncode 编码,防止接口识别不出参数