一. 需要引入:
using System.Net;
using System.IO;
二. 处理get请求
public static string HttpGet(string url, Dictionary<string, string> para)
{
Encoding encoding = Encoding.UTF8;
WebClient webClient = new WebClient();
StringBuilder buffer = new StringBuilder("?");//这是要提交的数据
int i = 0;
foreach (string key in para.Keys)
{
string pk = para[key].Replace('_', '-');
if (i > 0)
{
buffer.AppendFormat("&{0}={1}", key, pk);
}
else
{
buffer.AppendFormat("{0}={1}", key, pk);
}
i++;
}
url = url + buffer.ToString();
Stream stream = webClient.OpenRead(url);
StreamReader sr = new StreamReader(stream);
string str = sr.ReadToEnd();
return str;
}
三. 处理非文件的POST请求
public static string HttpPostNoFile(string url, Dictionary<string, string> para)
{
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);//webrequest请求api地址
request.Accept = "text/html,application/xhtml+xml,*/*";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.Method = "POST";//get或者post
StringBuilder buffer = new StringBuilder();//这是要提交的数据
int i = 0;
//通过泛型集合转成要提交的参数和数据
foreach (string key in para.Keys)
{
if (i > 0)
{
buffer.AppendFormat("&{0}={1}", key, para[key]);
}
else
{
buffer.AppendFormat("{0}={1}", key, para[key]);
}
i++;
}
byte[] bs = Encoding.UTF8.GetBytes(buffer.ToString());//UTF-8
request.ContentLength = bs.Length;
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseSt