首页 > net教程 > C#语言 > 正文:C#提交数据到服务器并返回的处理

C#提交数据到服务器并返回的处理

web学习吧 2007-09-19 来源: 收藏本文
共3页: 上一页 1 [2] [3] 下一页

  1:利用System.Net.WebRequest的Create方法创建WebRequest对象:


System.Net.WebRequest ObjWebRequest =System.Net.WebRequest.Create(urlP);

异常类型:
NotSupportedException :requestUri 中指定的请求方案未注册。
ArgumentNullException :requestUri 为空引用(Visual Basic 中为 Nothing)。
SecurityException 调用方没有连接到请求的 URI 或请求重定向到的 URI 上的权限。

  2:对请求进行预先身份验证,如果无明确的要求,此项可以空.


ObjWebRequest.Credentials = CredentialCache.DefaultCredentials;


如果需要按照特别的验证协议,需要强制转换成HttpWebRequest类型:

 ((HttpWebRequest)ObjWebRequest).UserAgent = "5DO8";


  3:指明协议的类型:

ObjWebRequest.Method = "POST";

  可以是POST方式和Get方式.

  4:发送传输的数据长度(如果无显示传送,亦可发送),如果设置了此项,发送的数据必须恰好满足此值.


ObjWebRequest.ContentLength = Stringdata.ToCharArray().Length;


  5:设置传入请求的 MIME 内容类型:


ObjWebRequest.ContentType="application/x-www-form-urlencoded";//Post
ObjWebRequest.ContentType="text/XML";//SOAP


  6:使用GetRequestStream()方法获取发送的流的句柄:


System.IO.Stream dataStream = ObjWebRequest.GetRequestStream();


  7:发送数据:

dataStream.Write (byteArray, 0, byteArray.Length);

  注:byteArray是一个Byte数组,它的获取可以是:

byte[] byteArray = UTF8Encoding.GetBytes(dataP);

  8:关闭Request流.


dataStream.Close ();

 这是必须的,知道Close,服务器不会响应输出,还可以选择调用System.IO.Stream.Close()关闭流.

  9:利用GetResponse()获取Response对象.

WebResponse Objresponse = ObjWebRequest.GetResponse();

 

  9*:你可以获取返回给客户端的 HTTP 输出状态的字符串,默认是公共状态消息"OK"


//Console.WriteLine (((HttpWebResponse)Objresponse).StatusDescription);
if ( ((HttpWebResponse)Objresponse).StatusDescription != "OK"){
//..结束这一切
}

 

  10:获取响应流的句柄:

Stream data = Objresponse.GetResponseStream

  11:保存数据或者直接读出,例如直接输出到浏览器.


dataStream = ObjResponse.GetResponseStream ();

StreamReader r = new StreamReader(dataStream);
Response.Write(HttpUtility.HtmlEncode(r.ReadToEnd()));

共3页: 上一页 1 [2] [3] 下一页
热点教程
实用信息推荐
网站地图 - 最新教程 - RSS订阅 - 版权所有 - 广告服务 - 友情连接 - 联系我们