详细GET和POST方法
Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据.
// get请求是查询字符串直接跟在URL后面
//post是把消息体包含查询字符串,满足把大量数据传递给服务器

//发送请求,”url”为访问的地址
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(“url“);
//ContentType为数据类型
//get请求ContentType为空,post请求ContentType为application/x-www-form-urlencoded
req.ContentType = “”;
req.Method = “get“; //请求方法为get和post
//content消息体,get请求content为空,post请求为要传递的参数,如“AcctID=1
string content = “”;
req.ContentLength=content.Length;
Stream s;

s = req.GetRequestStream();//获取请求数据

StreamWriter sw = new StreamWriter(s, System.Text.Encoding.ASCII);

sw.Write(content);

sw.Close();

//得到HTTP请求

HttpWebResponse res = (HttpWebResponse)req.GetResponse();
s = res.GetResponseStream();

StreamReader sr = new StreamReader(s, System.Text.Encoding.ASCII);
System.Text.StringBuilder sb = new System.Text.StringBuilder();

char[] data = new char[1024];

int nBytes;

do

{
nBytes = sr.Read(data, 0, (int)1024);
sb.Append(data);
} while (nBytes == 1024);
//发送请求,”url”为访问的地址
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(“url“);
//ContentType为数据类型
//get请求ContentType为空,post请求ContentType为application/x-www-form-urlencoded
req.ContentType = “”;
req.Method = “get“; //请求方法为get和post
//content消息体,get请求content为空,post请求为要传递的参数,如“AcctID=1
string content = “”;
req.ContentLength=content.Length;
Stream s;

s = req.GetRequestStream();//获取请求数据

StreamWriter sw = new StreamWriter(s, System.Text.Encoding.ASCII);

sw.Write(content);

sw.Close();
Handler h = new Handler();
AsyncCallback callback = new AsyncCallback(h.Callback); //方法
//将请求对象作为状态对象传递
req.BeginGetResponse(callback, req);
public class Handler

{
public void Callback(IAsyncResult ar)

{
//将Requeststate对象强制转化为webRequest对象
HttpWebRequest req = (HttpWebRequest)ar.AsyncState;

//得到与这个请求相关的响应对象
HttpWebResponse res = (HttpWebResponse)req.EndGetResponse(ar);

//开始从响应流中读取数据
Stream s = res.GetResponseStream();

StreamReader sr = new StreamReader(s, System.Text.Encoding.ASCII);
System.Text.StringBuilder sb = new System.Text.StringBuilder();

char[] data = new char[1024];

int nBytes;

do

{
nBytes = sr.Read(data, 0, (int)1024);
sb.Append(data);
} while (nBytes == 1024);

}
}
HTTP同步请求
HTTP异步请求
回调函数,用类来表示
版权声明:本文为pursuedream原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。