C#的HTTP工具类
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
class HttpUtil
{
//GET请求
public static string GetRequest(string url, int Timeout)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = null;
request.Timeout = Timeout;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
/*使用
string url="Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB";
string res = HttpHelper.GetRequest(url, 6000);
if (res != null)
{
T mes = JsonHelper.DeserializeJsonToObject<T>(res)
}
*/
//获取返回的数据
public static string GetResponseString(HttpWebResponse webresponse)
{
using (Stream s = webresponse.GetResponseStream())
{
StreamReader reader = new StreamReader(s, Encoding.UTF8);
return reader.ReadToEnd();
}
}
//POST请求
public static entity.Result HttpPost(string Url, string postDataStr)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.ContentType = "text/json; charset=utf-8";
request.Method = "post";
request.Timeout = 3000;
byte[] btBodys = Encoding.UTF8.GetBytes(postDataStr);
request.ContentLength = btBodys.Length;
request.GetRequestStream().Write(btBodys, 0, btBodys.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream(),Encoding.UTF8);
string responseContent = streamReader.ReadToEnd();
response.Close();
streamReader.Close();
request.Abort();
response.Close();
return JsonUtil.JsonToObject<entity.Result>(responseContent);
}
}