using System;
using System.IO;
using System.Net;
using System.Text;
namespace ConsoleApplication1
{
public static class HttpHelper
{
private static readonly Encoding DEFAULTENCODE = Encoding.UTF8;
/// <summary>
/// Http get
/// </summary>
/// <param name="url"></param>
/// <param name="data"></param>
/// <param name="encoding"></param>
/// <returns></returns>
public static string Get(string url, string data, Encoding encoding)
{
url = string.Format("{0}?{1}", url, data);
WebRequest request = WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = EnumWebMethod.GET.ToString();
WebResponse response = request.GetResponse();
using (StreamReader stream = new StreamReader(response.GetResponseStream(), encoding))
{
return stream.ReadToEnd();
}
}
/// <summary>
/// Http post
/// </summary>
/// <param name="url"></param>
/// <param name="data"></param>
/// <param name="encoding"></param>
/// <returns></returns>
public static string Post(string url, string data, Encoding encoding)
{
byte[] bytes = encoding.GetBytes(data);
WebRequest request = WebRequest.Create(url);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = EnumWebMethod.POST.ToString();
using (Stream stream = request.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
WebResponse response = request.GetResponse();
using (StreamReader stream = new StreamReader(response.GetResponseStream(), encoding))
{
return stream.ReadToEnd();
}
}
/// <summary>
/// GetResponse
/// </summary>
/// <param name="url"></param>
/// <param name="method"></param>
/// <returns></returns>
public static string GetResponse(string url, EnumWebMethod method)
{
return GetResponse(url, DEFAULTENCODE, method);
}
/// <summary>
/// GetResponse
/// </summary>
/// <param name="url"></param>
/// <param name="method"></param>
/// <returns></returns>
public static string GetResponse(string url, Encoding encoding, EnumWebMethod method)
{
Uri uri = new Uri(url);
string data = uri.Query;
if (data.StartsWith("?"))
data = data.Remove(0, 1);
string newurl = "http://" + uri.Authority + uri.AbsolutePath;
return GetResponse(newurl, data, encoding, method);
}
/// <summary>
/// GetResponse
/// </summary>
/// <param name="url"></param>
/// <param name="data"></param>
/// <param name="method"></param>
/// <returns></returns>
public static string GetResponse(string url, string data, EnumWebMethod method)
{
return GetResponse(url, data, DEFAULTENCODE, method);
}
/// <summary>
/// GetResponse
/// </summary>
/// <param name="url"></param>
/// <param name="data"></param>
/// <param name="encoding"></param>
/// <param name="method"></param>
/// <returns></returns>
public static string GetResponse(string url, string data, Encoding encoding, EnumWebMethod method)
{
if (EnumWebMethod.GET == method)
{
return Get(url, data, encoding);
}
else
{
return Post(url, data, encoding);
}
}
}
/// <summary>
/// Method
/// </summary>
public enum EnumWebMethod
{
POST,
GET
}
}2.调用示例
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(HttpHelper.GetResponse("http://www.mzwu.com/article.asp?id=1&t=1000", EnumWebMethod.GET));
Console.ReadKey();
}
}
}
评论(0)
暂无评论。