用户名: 密码: 验证码: 注册           网站地图 高级搜索 RSS订阅 收藏本站
山东十七地市站长联盟信息: 济南 青岛 淄博 枣庄 东营 烟台 潍坊 济宁 泰安 威海 日照 莱芜 临沂 德州 聊城 滨州 菏泽      
您的位置:主页>网络编程>.Net编程>

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

[ 来源: | 作者: | 更新日期:2007-9-21 10:07:55 | 评论 0 条 | 我要投稿 ]

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

字串9

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

字串5

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

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

ObjWebRequest.Credentials = CredentialCache.DefaultCredentials;

字串9

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

字串8

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

 3:指明协议的类型: 字串1

ObjWebRequest.Method = "POST"; 字串7


  可以是POST方式和Get方式.

字串3

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

字串5


ObjWebRequest.ContentLength = Stringdata.ToCharArray().Length; 字串1

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

ObjWebRequest.ContentType="application/x-www-form-urlencoded";//Post
ObjWebRequest.ContentType="text/xml";//SOAP 字串9

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

字串2

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

字串3

  7:发送数据: 字串8

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

字串3

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

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

字串5

  8:关闭Request流. 字串8

dataStream.Close (); 字串1

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

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

WebResponse Objresponse = ObjWebRequest.GetResponse(); 字串6

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

字串2

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

  10:获取响应流的句柄: 字串5

Stream data = Objresponse.GetResponseStream 字串9


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

字串7


dataStream = ObjResponse.GetResponseStream (); 字串6

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

字串6


 或者使用StreamWriter对象保存:

字串7


Stream outStream =System.IO.File.Create( "Temp.data" );
byte []buffer = new byte[1024];
int l;
do{
l = dataStream.Read(buffer,0,buffer.Length);
if(l>0) outStream.Write(buffer,0,l);
} while(l>0);

字串2

outStream.Close(); 字串2


此方式可以保存二进制数据. 字串3


Tags:返回 处理 服务器 数据 提交 可以 请求 发送 获取 类型
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为