[转]C# GET、POST方式请求web

2008-04-10 12:50

private string GetModel(string strUrl)

{

string strRet = null;

try

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);

request.Timeout = 2000;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

System.IO.Stream resStream = response.GetResponseStream();

Encoding encode = System.Text.Encoding.Default;

StreamReader readStream = new StreamReader( resStream, encode );

Char[] read = new Char[256];

int count = readStream.Read( read, 0, 256 );

while (count > 0)

{

String str = new String(read, 0, count);

strRet = strRet + str;

count = readStream.Read(read, 0, 256);

}

resStream.Close();

}

catch(Exception e)

{

strRet="";

}

return strRet;

}

public static string PostModel(string strUrl, string strParm)

{

Encoding encode = System.Text.Encoding.Default;

byte[] arrB = encode.GetBytes(strParm);

string strBaseUrl = null;

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);

myReq.Method = "POST" ;

myReq.ContentType = "application/x-www-form-urlencoded";

myReq.ContentLength = arrB.Length;

Stream outStream = myReq.GetRequestStream();

outStream.Write(arrB,0,arrB.Length);

outStream.Close();

WebResponse myResp = null;

try

{

//接收HTTP做出的响应

myResp = myReq.GetResponse();

}

catch(Exception e)

{

int ii =0;

}

Stream ReceiveStream = myResp.GetResponseStream();

StreamReader readStream = new StreamReader( ReceiveStream, encode );

Char[] read = new Char[256];

int count = readStream.Read( read, 0, 256 );

string str = null;

while (count > 0)

{

str += new String(read, 0, count);

count = readStream.Read(read, 0, 256);

}

readStream.Close();

myResp.Close();

return str;

}