




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTTP协议基本原理,XMLWebService开发,第1章XMLWebService第2章XMLWebService体系结构第3章XMLWebService基础技术第4章使用XMLWebService第5章实现一个简单的XMLWebService第6章部署和发布XMLWebService第7章XMLWebService的安全第8章XMLWebService设计第9章全局XMLWebService体系结构,第3章XMLWebService基础技术,HTTP协议基本原理在.NETFramework中使用HTTP协议XML基本要点SOAP协议的基本原理在.NETFramework中运用SOAP协议,HTTP协议基本原理,HTTP协议概述HTTP请求与HTTP响应的结构HTTP的GET与POST方法,3.1HTTP协议基本原理,URL、URI和URN,URI,UniformResourceIdentifier统一资源标识符,用字符串惟一标识信息资源URL,UniformResourceLocator统一资源定位符,通过“通讯协议网络地址”字符串惟一标识信息位置和资源访问途径URN,UniformResourceName统一资源命名符,用于惟一标识全球范围内由专门机构负责的稳定的信息资源,3.1HTTP协议基本原理,HTTP协议概述,URL结构无状态协议在客户端发出HTTP请求并收到服务器端响应后,连接就会断开,下次的访问与前一次的访问无关,因此如果需要维护客户端的信息,必须在服务器端维持状态数据,实例,http:/host:portpath?querystring,主机,路径,查询字符串,3.1.1HTTP协议概述,HTTP请求的结构,请求的结构,例子,POST/TheStockExchange/Trading/GetStockPrice.aspHTTP/1.1Host:localhostContent-Type:application/x-www-form-urlencodedContent-Length:11Symbol=MSFT,注意空行,MethodURLVersionHeadersMessagebody,注意空行,3.1.2HTTP请求与HTTP响应的结构,响应的结构,例子,HTTP/1.1200OKContent-Type:text/xml;charset=utf-8Content-Length:75,HTTP响应的结构,注意空行,VersionStatus-CodeDescriptionHeadersMessagebody,注意空行,3.1.2HTTP请求与HTTP响应的结构,HTTP的GET和POST方法,HTTP-GETHTTP-POST,例子,例子,GET/Trading/GetStockPrice.asp?Symbol=MSFTHTTP/1.1Host:localhost,POST/Trading/GetStockPrice.aspHTTP/1.1Host:localhostContent-Type:application/x-www-form-urlencodedContent-Length:11Symbol=MSFT,3.1.3HTTP的GET与POST方法,GET和POST方法的区别,GET方法通常没有消息主体GET方法支持最大1024个字节的查询字符串,POST方法没有限制POST方法把查询字符串放在消息主体中传输,因此比GET方法支持更多的数据类型,3.1.3HTTP的GET与POST方法,第3章XMLWebService基础技术,HTTP协议基本原理在.NETFramework中使用HTTP协议XML基本要点SOAP协议的基本原理在.NETFramework中运用SOAP协议,在.NETFramework中使用HTTP协议,使用HTTP协议的.NET类代码演练发送HTTP同步请求代码演练发送HTTP异步请求,.NET中与HTTP相关的类,HttpWebRequest由WebRequest派生,封装了对HTTP协议的支持HttpWebResponse由WebResponse派生,封装了对HTTP协议的支持支持同步和异步操作,HttpWebRequestHttpWebResponse,System.Web,System.IO,StreamReaderStreamWriter,3.2.1使用HTTP协议的.NET类,HttpWebRequest类,HttpWebRequest不使用构造函数来进行初始化,而是调用WebRequest的Create方法GetResponse方法向RequestUri属性中指定的Internet资源发出同步请求并返回包含该响应的HttpWebResponse实例,可以使用BeginGetResponse和EndGetResponse方法向Internet资源发出异步请求向Internet资源发送数据时,GetRequestStream方法返回用于发送数据的Stream实例,BeginGetRequestStream和EndGetRequestStream方法提供对发送数据流的异步访问,3.2.1使用HTTP协议的.NET类,同步调用与异步调用,在.NETFramework指定的异步调用方法的设计模式中,每个同步方法都有两个对应的异步方法,即一个Begin异步方法和一个End异步方法客户端调用Begin方法启动该方法的异步调用,实质是指示开始进行方法调用,但立即返回,不需要等待结果客户端调用End方法获取XMLWebService方法执行的结果,3.2.1使用HTTP协议的.NET类,代码示例发送同步HTTP请求,使用HttpWebRequest和HttpWebResponse类向Web服务器发送同步HTTP请求,3.2.2代码演练发送HTTP同步请求,同步请求,/根据URL发送HTTP请求1.HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(url);2.req.ContentType=contentType;/确定请求方式为POST或GET3.req.Method=method;4.req.ContentLength=content.Length;5.Streams;获取请求流,将请求的内容写入流中6.s=req.GetRequestStream();7.StreamWritersw=newStreamWriter(s,Encoding.ASCII);8.sw.Write(content);9.sw.Close();,同步请求,10./获取响应11.HttpWebResponseres=(HttpWebResponse)req.GetResponse();12.s=res.GetResponseStream();13./读出响应流14.StreamReadersr=newStreamReader(s,Encoding.ASCII);15.StringBuildersb=newStringBuilder();16.chardata=newchar1024;17.intnBytes;18.do19.nBytes=sr.Read(data,0,(int)1024);20.sb.Append(data);21.while(nBytes=1024);,代码示例发送异步HTTP请求,使用HttpWebRequest和HttpWebResponse类向Web服务器发送异步HTTP请求,3.2.3代码演练发送HTTP异步请求,异步请求,1.Streams;2.HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(url);3.req.ContentType=contentType;4.req.Method=method;5.req.ContentLength=content.Length;6.s=req.GetRequestStream();7.StreamWritersw=newStreamWriter(s);8.sw.Write(content);9.sw.Close();,异步请求,10./创建时间处理程序11.Handlerh=newHandler();12.AsyncCallbackcallback=newAsyncCallback(h.Callback)13./将请求对象作为状态对象进行传递14.req.BeginGetResponse(callback,req);15.16.17.,异步请求,/处理程序18.publicclassHandler19.20.publicvoidCallback(IAsyncResultar)21.22./从请求状态中获取处理对象23.HttpWebRequestreq=(HttpWebRequest)ar.AsyncState;24./获取响应对象26.HttpWebResponseres=(HttpWebResponse)req.EndGetResponse(ar);,异步请求,27./开示读取响应流28.Streams=res.GetResponseStream();29.30.StreamReadersr=newStreamReader(s,Encoding.ASCII);31.StringBuildersb=newStringBuilder();32.chardata=newchar1024;33.intnBytes;34.do35.36.nBytes=sr.Read(data,0,(int)1024);37.sb.Append(data);38.while(nBytes=1024);39.,具体的HTTP-GET请求,classTesterstaticvoidMain(stringargs)Trace.Listeners.Add(newTextWriterTraceListener(Console.Out);Trace.AutoFlush=true;Console.WriteLine(-HTTPGET-);stringurlGet=http:/localhost/Woodgrove/Bank.asmx/GetAccount?acctID=1;GetData(urlGet,GET,);,publicstaticvoidGetData(stringurl,stringcontentType,stringmethod,stringcontent,paramsstringheaders)Streams;HttpWebRequestreq=(HttpWebRequest)WebRequest.Create(url);foreach(stringheaderinheaders)req.Headers.Add(header);if(method.Length0)req.Method=method;if(contentType.Length0)req.ContentType=contentType;if(content.Length0)req.ContentLength=content.Length;s=req.GetRequestStream();StreamWritersw=newStreamWriter(s);sw.Write(content);sw.Close();DisplayRequest(req);HttpWebResponseres=(HttpWebResponse)req.GetResponse();DisplayResponse(res);,publicstaticvoidDisplayRequest(HttpWebRequestreq)Trace.WriteLine(*RequestStart*);Trace.WriteLine(req.RequestUri.ToString();DisplayHeaders(req.Headers);Trace.WriteLine(*RequestEnd*);publicstaticvoidDisplayResponse(HttpWebResponsehresp)Trace.WriteLine(null);Trace.WriteLine(*ResponseStart*);Trace.WriteLine(hresp.StatusCode);Trace.WriteLine(hresp.StatusDescription);DisplayHeaders(hresp.Headers);DisplayContent(hresp);Trac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商业银行合同的签订
- 七年级体育与健康 素质考核说课稿
- 2024四年级语文下册 第6单元 20我们家的男子汉说课稿 新人教版
- 2024年五年级数学上册 1 小数乘法第6课时 积的近似数说课稿 新人教版
- 基本初等函数2.1-2.2教学设计
- 中医医生考编试题题库及答案
- 中医考试资格试题及答案
- 2025年4月陕西省榆林市经开区九年级(下)历史中考模拟(一)(含答案)
- 个人购房贷款逾期还款合同模板
- 出租车司机权益保障与运营管理合同
- 高血压指南培训课件
- 设计文件更改管理办法
- 2025年芳香保健师职业资格认证考试试卷
- 药物分离纯化技术43课件
- 医院优先使用集采药品培训
- 美术机构卫生管理制度
- 公安心理测试题及答案
- 朗格罕细胞组织细胞增生
- T/SFABA 1-2016食品安全团体标准天然食品用香精
- T/CCOA 51-2023生湿面条生产加工技术规程
- 2025年中国燃气用埋地聚乙烯(PE)管材数据监测报告
评论
0/150
提交评论